dalog v1.0.2
node-dalog
Simple Logger with spawning, source code and event tracing. ES6 compatible.
Usage
JS example:
var Logger = require('dalog').default;
logger = new Logger();
logger.log('Hello','world');ES6 example:
import Logger from 'dalog';
export class MyApp {
constructor {
this.logger = new Logger();
this.logger.log('Hello','world');
}
}This would log using console.log() and output something like:
[ead88891](app.js:3:8) Hello worldThe format is as follows:
[$(id)]($(file):$(line):$(character)) $(message)id: Random identificator to easily track source of evented log calls. Very useful when having many streams, log messages usually merge and mix, making traceability almost impossible.
file: Source file name that called the logger.
line: Line of source file in which the logger was called.
character: Position in line from which the logger was called.
message: Multiple arguments turned into string message, same as using console.
Console support
Logger is mounted over console, and supports .log(), .info(), .warn(), .error() and multiple arguments.
Spawning child loggers
It's possible to spawn the logger to trace specific events, for example:
var Logger = require('dalog').default;
appLogger = new Logger();
appLogger.log('Hello','world');
timerLogger = appLogger.spawn();
failLogger = appLogger.spawn();
setInterval(function() {
timerLogger.info('Tick!', +new Date);
}, 1000);
setTimeout(function() {
failLogger.error('Fail!');
process.exit(1);
}, 5000);It's similar to creating a new instance of the logger, but there are plans to trace back parent/children calls. Also date/time, format and other features on the bucketlist.
Output of example above:
[b3d3b328](app.js:3:11) Hello world
[3598caeb](app.js:9:15) Tick! 1661859488022
[3598caeb](app.js:9:15) Tick! 1661859489028
[3598caeb](app.js:9:15) Tick! 1661859490032
[3598caeb](app.js:9:15) Tick! 1661859491037
[4115b85d](app.js:13:14) Fail!License
MIT