enhanced console.log
npm install @magic/logsimple server side logging.
basically console.log + loglevels + process.env awareness
[![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]
[npm-image]: https://img.shields.io/npm/v/@magic/log.svg
[npm-url]: https://www.npmjs.com/package/@magic/log
[travis-image]: https://img.shields.io/travis/com/magic/log/master
[travis-url]: https://travis-ci.com/magic/log
[appveyor-image]: https://img.shields.io/appveyor/ci/magic/log/master.svg
[appveyor-url]: https://ci.appveyor.com/project/magic/log/branch/master
[coveralls-image]: https://coveralls.io/repos/github/magic/log/badge.svg
[coveralls-url]: https://coveralls.io/github/magic/log
[greenkeeper-image]: https://badges.greenkeeper.io/magic/log.svg
[greenkeeper-url]: https://badges.greenkeeper.io/magic/log.svg
[snyk-image]: https://snyk.io/test/github/magic/log/badge.svg
[snyk-url]: https://snyk.io/test/github/magic/log
#### installation:
``javascript`
npm install @magic/log
#### usage:
##### import
`javascript`
import log from '@magic/log'
##### log levels
`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()
`
##### log functions
`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'
`
##### changelog
#####v0.0.3
log.error now converts errors for better logging
#### 0.1.0
use ecmascript modules
#### 0.1.1
bump to get this version to be the default for install.
0.1.0-cjs was preferred, but is deprecated.
#### 0.1.2
add log.hrtime and log.timeTaken
#### 0.1.3
require node >= 13.5.0
#### 0.1.4
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.
#### 0.1.5
bump required node version to 14.2.0
#### 0.1.6
update dependencies
#### 0.1.7
change log.level initialization
#### 0.1.8
- bump required node version to 14.15.4
- update dependencies
##### 0.1.9
update dependencies
##### 0.1.10
update @magic/types to avoid circular dependency
##### 0.1.11
- 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
##### 0.1.12
update dependencies
##### 0.1.13
remove unwanted log from log.timeTaken
##### 0.1.14
- update dependencies
- log.timeTaken now also returns μs if needed
##### 0.1.15
update dependencies
##### 0.1.16
update dependencies
##### 0.1.17
update dependencies
##### 0.1.18
update dependencies
##### 0.1.19
- add jsdoc types
- add tests to get 100% coverage
- update dependencies
##### 0.1.20
- export types from package.json files array
- update dependencies
##### 0.1.21
- update dependencies
##### 0.1.22 - unreleased
...