bene-logger

1.1.7 • Public • Published

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.

Dependents (9)

Package Sidebar

Install

npm i bene-logger

Weekly Downloads

6

Version

1.1.7

License

ISC

Unpacked Size

26.3 kB

Total Files

10

Last publish

Collaborators

  • robertstettner
  • svozza
  • trinitymirrordigital-admin
  • ttollers
  • jeffdownie
  • nygel
  • attila-m