0.1.1 • Published 6 years ago

preacher v0.1.1

Weekly downloads
2
License
MIT
Repository
-
Last release
6 years ago

preacher

Install

npm install --save preacher

Goal

  • 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.

API

preacher(options = {})

Options:

  • loggerToWrap (required)

    • Logging instance that is wrapped. Typically this would be winston, console or $log (angular).
  • debugApi (optional)

    • A visionmedia debug instance if one is not provided then one is created for you.
  • enable (optional)

    • Comma delimmited string. If it is not defined it defaults to debug's ENV variable of DEBUG.
  • levelFns (optional)

    • Array of strings, typically ['info', 'warn', 'error']. Levels to evaulate and possibly wrap.
  • doFileLine (optional)

    • boolean defaults to false. Currently this is for node only to diplay the file and line number of the log output.
  • decorLevels (optional)

    • Array of strings, typically ['info', 'warn', 'error']. Levels to add lazy evaluation and decorations (color-wrap, file info) to.

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);
0.1.1

6 years ago

0.1.0

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago