@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
    };

Package Sidebar

Install

npm i @madgex/datadog-logger

Weekly Downloads

1

Version

1.1.6

License

ISC

Unpacked Size

21.3 kB

Total Files

16

Last publish

Collaborators

  • opeafolabi
  • 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
  • nigelpevans