1.0.1 • Published 6 years ago

@jermeo/winston-datadog v1.0.1

Weekly downloads
6
License
ISC
Repository
github
Last release
6 years ago

Winston Datadog TCP secure

npm JavaScript Standard Style

TCP transport for Datadog with Winston

npm

  • Use with Winston 3+
  • Typescript support
  • Initially forked from winston-tcp

Install

npm i @jermeo/winston-datadog

API

Typescript

import * as logger from "winston";
import DatadogTcpTransport from "@jermeo/winston-datadog";
const {combine, timestamp } = logger.format;

logger.configure({
    level: 'info',
    format: combine(
        timestamp()
    ),
    transports: [
        new DatadogTcpTransport({
            level: 'info',
            host: 'intake.logs.datadoghq.com',
            port: 10516,
            apiKey : 'DATADOG_API_KEY',
            tags: {
              app: 'my-service',
              env: 'dev'
            }
        })
    ]
});

const greeting = (person: string) => {
    logger.info('Good day ' + person, {service: 'my-service'});
};

greeting('Daniel')

js

const { createLogger, transports } = require('winston');
const winstonTcpDatadog = require('@jermeo/winston-datadog');

const options = {
  console: {
    level: 'debug',
    handleExceptions: true,
    json: true
  },
  datadogOptions: {
    level: 'info',
    host: 'datadog_secure_tcp_endpoint',
    port: datadog_secure_tcp_port, 
    apiKey : 'DATADOG_API_KEY',
    tags: {
      app: 'my-service',
      env: 'dev'
    }
  }
};

const logger = new createLogger({
  transports: [
    new transports.Console(options.console),
    new winstonTcpDatadog(options.datadogOptions)
  ],
  exitOnError: false, // do not exit on handled exceptions
});

// logs needs to be in json
logger.info('message', {service: "service-name", ...})

Options

NameDescriptionDefault
hostThe host to connect tonone
portThe server port to connect tonone
apiKeyYour datadog API Keynone
reconnectIntervalTime to pause between disconnect and reconnect (in ms)1000
bufferLengthNumber of messages to buffer while disconnected, set to false for unlimited10000
tagsTags to send to Datadognone

License: ISC  ·