@magic/log
Version:
enhanced console.log
200 lines (126 loc) • 3.99 kB
Markdown
simple server side logging.
basically console.log + loglevels + process.env awareness
[](https://magic.github.io/log)
[![NPM version][npm-image]][npm-url]
[![Linux Build Status][travis-image]][travis-url]
[![Windows Build Status][appveyor-image]][appveyor-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Greenkeeper badge][greenkeeper-image]][greenkeeper-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[]: https://img.shields.io/npm/v/@magic/log.svg
[]: https://www.npmjs.com/package/@magic/log
[]: https://img.shields.io/travis/com/magic/log/master
[]: https://travis-ci.com/magic/log
[]: https://img.shields.io/appveyor/ci/magic/log/master.svg
[]: https://ci.appveyor.com/project/magic/log/branch/master
[]: https://coveralls.io/repos/github/magic/log/badge.svg
[]: https://coveralls.io/github/magic/log
[]: https://badges.greenkeeper.io/magic/log.svg
[]: https://badges.greenkeeper.io/magic/log.svg
[]: https://snyk.io/test/github/magic/log/badge.svg
[]: https://snyk.io/test/github/magic/log
```javascript
npm install @magic/log
```
```javascript
import log from '@magic/log'
```
```javascript
// set logLevel to all
log.setLevel('all')
log.setLevel(0)
// logLevel warn
log.setLevel('warn')
log.setLevel(1)
// only log errors:
log.setLevel('error')
log.setLevel(2)
// if production, set logLevel to "warn", if development, "all"
log.resetLevel()
// get current logLevel
log.getLevel()
```
```javascript
// only outputs if logLevel === 'all'
log.info('Some interesting yet useless information')
// only outputs if logLevel === 'all'.
// output of first argument is green.
log.success('yay', 'only the first', 'argument was green')
// always outputs. first argument will be red
log.error('ERROR:', 'error messsage')
// outputs if logLevel === 'warn' || 'all'
log.warn('WARN:', 'warn message')
// make a message greyed out
log.annotate('Annotate this message')
// return process.hrtime to use in log.timeTaken
const start = log.hrtime()
// get delta between one hrtime and another
const delta = log.hrtime(start)
// print the s, ms or ns since start
log.timeTaken(start, 'before', 'after')
// logs 'before xns after'
```
log.error now converts errors for better logging
use ecmascript modules
bump to get this version to be the default for install.
0.1.0-cjs was preferred, but is deprecated.
add log.hrtime and log.timeTaken
require node >= 13.5.0
log.timeTaken(time, pre, post):
if pre ends and post starts with a string delimiter,
the time value between those string delimiters does not get spaces added around it.
bump required node version to 14.2.0
update dependencies
change log.level initialization
- bump required node version to 14.15.4
- update dependencies
update dependencies
update @magic/types to avoid circular dependency
- log.timeTaken now takes a config object as second parameter, `log.timeTaken(time, { pre: '', post: '', log: true })`. three argument call is possible too: `log.timeTaken(time, pre, post, log)`
- update dependencies
update dependencies
remove unwanted log from log.timeTaken
- update dependencies
- log.timeTaken now also returns μs if needed
update dependencies
update dependencies
update dependencies
update dependencies
- add jsdoc types
- add tests to get 100% coverage
- update dependencies
- export types from package.json files array
- update dependencies
- update dependencies
...