lugg
Version:
A simple logging module that uses pino and draws inspiration from TJ Hollowaychuk's debug.
37 lines (32 loc) • 919 B
JavaScript
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;