@madgex/datadog-logger

1.1.6 • Public • Published

Madgex Datadog logger setup for node applications

Use to create console and/or Hapi Good loggers that will output logs (with log level) to DD agent

By Jim O'Neill

Uses the winston logging with a custom winston-tcp-transport

Usage

Require the package:-

const DatadogLogger = require('@madgex/datadog-logger');

To use global logger instance:-

DatadogLogger.Logger.info('Using global logger instance');

To create the console logger (note - sets global logger instance):-

    //Set min output level (lower levels won't be logged)
    let loggerOptions = { level: 'debug' };
    if (process.env.NODE_ENV === 'production') {
        //If not set - logs wil be output to console        
        loggerOptions.dataDog = { 
            //Note: myServicePortNo - you will need to ask systems which port your service should log to
            port: myServicePortNo,            
            udp: true, //if false will use TCP
            // hostIp: x.x.x.x  -- use to override agent host - leave unset to discover current host on AWS
        };
    }
    _logger = await DatadogLogger.createLogger(loggerOptions);

    _logger.info('logger is setup');
    //OR
    DatadogLogger.Logger.info('logger is setup');

Example usages:-

    _logger.error(err);
    _logger.debug('info', infoObj);
    _logger.trace('trace message');

To setup the good reporter for Hapi:-

    const goodOptions = {
        ops: {
            interval: 1000,
        },
        reporters: {
            //Note: use previously created logger
            loggerReporter: [DatadogLogger.createGoodReporter(_logger, {
                pathsToInclude: ['/v1']
            })]
        },
    };

    const server = Hapi.server(...)

    await server.register([
        ...
        { plugin: Good, options: goodOptions }
    ]);

This module has custom levels equivalent to those used in nlog and serilog:-

    const _loggingLevels = {
        fatal: 0,
        error: 1,
        warn: 2,
        info: 3,
        debug: 4,
        trace: 5
    };

/@madgex/datadog-logger/

    Package Sidebar

    Install

    npm i @madgex/datadog-logger

    Weekly Downloads

    0

    Version

    1.1.6

    License

    ISC

    Unpacked Size

    21.3 kB

    Total Files

    16

    Last publish

    Collaborators

    • fernando.perez86
    • ali.hussnain
    • nabuckley
    • dbangamuwa
    • umar.mahmood
    • sjohnson-madgex
    • mbainwiley
    • luke.morgan
    • sadi.uddin
    • joseph.gavin
    • luis.sb.madgex
    • jameswragg
    • richp
    • madgex-npm
    • systems.team
    • celine.cozler
    • antoninoriesi
    • jackjohn86
    • rachel.godfrey
    • claudiayrr
    • nigelpevans