A logging library that combines the simplicity and convenience of debug with the power of bunyan.
Install the package via yarn:
❯ yarn add debugnyanor via npm:
❯ npm install debugnyan --saveCreate 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
bunyanlogger with namefoo - and a
bunyan(simple) child logger with propertycomponentequal 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 });❯ npm test
❯ npm version [<new version> | major | minor | patch] -m "Release %s"MIT