Naughty Praying Mantis

    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.

    Keywords

    none

    Install

    npm i bene-logger

    DownloadsWeekly Downloads

    17

    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