UNPKG

lugg

Version:

A simple logging module that uses pino and draws inspiration from TJ Hollowaychuk's debug.

37 lines (32 loc) 919 B
var pino = require('pino'), debug = require('./lib/debug-env'), debugEnabled = require('./lib/debug-env').enabled, rootLogger, rootName, loggers = []; var exports = module.exports = createLogger; function createLogger(name, options) { if (!rootLogger) { throw new Error('No root logger - did you forget to call lugg.init()'); } if (name) { var opts = options || {}; if (debugEnabled(rootName + ':' + name)) { opts.level = 'debug'; } opts.name = opts.name || name; return rootLogger.child(opts); } else { return rootLogger; } } exports.init = function(options, destination) { if (options && (options.writable || options._writableState)) { destination = options; options = null; } var opts = options || {}; rootName = opts.name = opts.name || 'app'; rootLogger = pino(opts, destination); return createLogger; }; exports.debug = debug.add;