
vertex-logger
A logger.
npm install vertex-logger --save
const VertexLogger = require('vertex-logger');
const logger = new VertexLogger({
root: 'root',
name: 'name',
level: 'info'
});
logger.level = 'debug';
logger.info('interpo%s st%s', 'lated', 'ring');
logger.fatal();
logger.error();
logger.warn();
logger.info();
logger.debug();
logger.trace();
logger.error("couldn't", new Error('Why'));
A tree of loggers...
...can be built for context.
let appLogger = new VertexLogger({
root: 'app-name',
name: 'application'
});
let serviceLogger = appLogger.createLogger({
name: 'service-name'
});
let componentLogger = serviceLogger.createLogger({
name: 'component-name'
});
componentLogger.info('message');
A repl
…can be registered via any logger in the tree
let logger = new VertexLogger();
let repl = require('repl').start();
logger.repl = repl;
logger.repl = undefined
Loglevel functors...
...can be passed as loglevel to target specific components.
let logger = new VertexLogger({
root: 'app-name',
name: 'application',
level: (info) => {
if (info.name == 'specific-component') return 'trace';
}
});
logger.level = (info) => {
if (info.ancestors.indexOf('service-name') >= 0) return 'off';
if (info.ancestors.pop() == 'specific-parent') return 'off';
return 'trace';
}
Todo
parentLogger.levelAll == 'off' || fn;