Awesome
debugnyan
A logging library that combines the simplicity and convenience of debug with the power of bunyan.
Status
Installation
Install the package via yarn
:
❯ yarn add debugnyan
or via npm
:
❯ npm install debugnyan --save
Usage
Create a logger by giving it a namespace and then call bunyan's log methods on the returned instance.
By default, similarly to debug
's behaviour, loggers do not output any content. Each logger output can be selectively activated by using the DEBUG
environment variable.
Pattern matching is based on the logger's name and it can optionally contain colons (:
) to create (sub)-components properties on the logger instance.
Consider a logger named foo:bar:biz
:
- this creates a
bunyan
logger with namefoo
- and a
bunyan
(simple) child logger with propertycomponent
equal tobar
.
const logger1 = require('debugnyan')('foo');
const logger2 = require('debugnyan')('foo:bar');
logger1.debug('net');
logger2.debug('qux');
Example output with DEBUG=foo
:
DEBUG=foo node example.js
{"name":"foo","hostname":"ruimarinho","pid":1,"level":20,"msg":"net","time":"2016-10-04T18:54:14.530Z","v":0}
{"name":"foo","hostname":"ruimarinho","pid":1,"component":"bar","level":20,"msg":"qux","time":"2016-10-04T18:54:14.531Z","v":0}
Example output with DEBUG=foo:bar
:
DEBUG=foo:bar node example.js
{"name":"foo","hostname":"ruimarinho","pid":2,"component":"bar","level":20,"msg":"qux","time":"2016-10-04T18:55:08.217Z","v":0}
The prefix
and suffix
for each component is also customizable:
const logger = require('debugnyan')('foo', {}, { suffix: 'module' });
When creating a child logger you may also override the default simple
behavior:
const logger = require('debugnyan')('foo', {}, { suffix: 'module', simple: false });
Log level
The level
bunyan option is respected if the logger output is active.
const logger = require('debugnyan')('foo', { level: 'info' });
You may also set the log level via the LOG_LEVEL
environment variable. However, the level
option will always take precedence over it.
Tests
❯ yarn test
Release
Click Run Workflow
on the release github action.
License
MIT