bene-logger
v1.1.7
Published
Logger library for Chronos.
Downloads
55
Keywords
Readme
BENE Logger
The BENE Logger is a library, which wraps winston
with default
parameters to be sent to all log messages using the instance.
It also provides the console.time
and console.timeEnd
functionality
to the logger, so that your log messages contain durations.
Additionally, it allows you to log to Elasticsearch directly.
Log levels
The log levels follow the syslog
standard as laid out in RFC5424, and
are as follows:
{ emerg: 0, alert: 1, crit: 2, error: 3, warning: 4, notice: 5, info: 6, debug: 7 }
You can specify the logger to only log up to a certain log level, by
passing in level
to the options. For example to only log emerg
,
alert
, crit
, and error
logs, pass in level: 'error'
.
Example usage
A simple log message is shown below:
var BeneLogger = require('bene-logger');
var logger = new BeneLogger({ defaults: { foo: 'bar' } });
logger.info('entering the void', { boo: 'moo' });
// info: entering the void boo=moo, foo=bar
Another example showing the usage of the setDefaults
method:
var BeneLogger = require('bene-logger');
var logger = new BeneLogger({ defaults: {alpha: 'bravo'}});
logger.setDefaults({charlie: 'delta'});
logger.info('calling phonetic alphabet');
// info: calling phonetic alphabet charlie=delta
Below is an example of a timed log message:
var BeneLogger = require('bene-logger');
var logger = new BeneLogger({ defaults: { process_id: 1337 } });
logger.time('db request');
// ... request here that takes 1234ms
logger.timeEnd('db request', { request_id: 42 });
// info: db request request_id=42, process_id=1337, duration=1234
An Elasticsearch example is shown below:
var BeneLogger = require('bene-logger');
var logger = new BeneLogger({
defaults: { foo: 'bar' },
elasticsearch: {
indexPrefix: 'logs',
indexSuffixPattern: 'YYYY.MM.DD',
clientOpts: { host: 'http://localhost:9200' }
}
});
logger.info('entering the void', { boo: 'moo' });
// info: entering the void boo=moo, foo=bar
For more options to pass into the elasticsearch
property,
refer here.