@madgex/datadog-logger
Setup console and Hapi Good logger
Last updated 7 months ago by jim.oneill .
ISC · Repository · Original npm · Tarball · package.json
$ cnpm install @madgex/datadog-logger 
SYNC missed versions from official npm registry.

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

Current Tags

  • 1.1.6                                ...           latest (7 months ago)

14 Versions

  • 1.1.6                                ...           7 months ago
  • 1.1.5                                ...           7 months ago
  • 1.1.4                                ...           10 months ago
  • 1.1.3                                ...           10 months ago
  • 1.1.2                                ...           10 months ago
  • 1.1.1                                ...           10 months ago
  • 1.1.0                                ...           a year ago
  • 1.0.6                                ...           a year ago
  • 1.0.5                                ...           a year ago
  • 1.0.4                                ...           a year ago
  • 1.0.3                                ...           a year ago
  • 1.0.2                                ...           a year ago
  • 1.0.1                                ...           a year ago
  • 1.0.0                                ...           a year ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (3)
Dev Dependencies (1)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |