npm install --save preacher
- To easily integrate visionmedia's debug into any javascript logging framework for node or the browser.
- Lazy log level evaluation
- Easy log namespace management via spawning.
-
- Logging instance that is wrapped. Typically this would be winston, console or $log (angular).
-
- A visionmedia debug instance if one is not provided then one is created for you.
-
- Comma delimmited string. If it is not defined it defaults to
debug's
ENV
variable ofDEBUG
.
- Comma delimmited string. If it is not defined it defaults to
-
- Array of strings, typically
['info', 'warn', 'error']
. Levels to evaulate and possibly wrap.
- Array of strings, typically
-
- boolean defaults to
false
. Currently this is for node only to diplay the file and line number of the log output.
- boolean defaults to
-
- Array of strings, typically
['info', 'warn', 'error']
. Levels to add lazy evaluation and decorations (color-wrap, file info) to.
- Array of strings, typically
Basic Example:
const preacher = require('preacher');
console.debug = console.log; // for example for node, no need in the browser
const rootLogger = preacher({
loggerToWrap: console, // or $log
enable: 'demo,other', //,hidden uncomment to unhide
doFileLine: true});
const demoLogger = rootLogger('demo');
const otherLogger = rootLogger('other');
const hiddenLogger = rootLogger('hidden');
const log1 = demoLogger.spawn('worker1');
const log2 = demoLogger.spawn('worker2');
const log3 = demoLogger.spawn('worker3');
const log4 = otherLogger.spawn('worker4');
const log5 = hiddenLogger.spawn('worker5');
log1.error('not really an error.');
log1.info('info');
log1.warn('not really a warning.');
setInterval( () => log1.debug('one'), 1000);
setInterval( () => log1.debug.red('red'), 1000); // works but color is only for node
setInterval(() => log2.debug(() => 'two'), 1100);
setInterval(() => log3.debug('three'), 1200);
setInterval(() => log4.debug(() => 'four'), 1150);
setInterval(() => {
// notice nothing is logged
hiddenLogger.debug(() => 'hidden root');
log5.debug(() => 'five');
}, 1155);