Skip to content

insurello/winston-transport-sentry-node

 
 

Repository files navigation

winston-transport-sentry-node

CircleCI node winston license

@Sentry/node transport for the winston v3 logger.

Index

Install

npm install --save winston winston-transport-sentry-node

Usage

You can configure winston-transport-sentry-node in two different ways.

With new winston.Logger:

const winston = require('winston');
const Sentry = require('winston-transport-sentry-node');

const options = {
  sentry: {
    dsn: 'https://******@sentry.io/12345',
  },
  level: 'info'
};

const logger = new winston.Logger({
  transports: [
    new Sentry(options)
  ]
});

Or with winston's add method:

const winston = require('winston');
const Sentry = require('winston-transport-sentry-node');

const logger = new winston.Logger();

logger.add(new Sentry(options));

See Options below for custom configuration.

Options (options)

Transport related options

  • sentry (Object) - a Sentry configuration object (see Sentry Common Options)
  • silent (Boolean) - suppress logging (defaults to false)
  • level (String) - transport's level of messages to log (defaults to info)
  • format (Object) - custom log format (see Winston Formats)

Sentry common options

  • dsn (String) - your Sentry DSN or Data Source Name (defaults to process.env.SENTRY_DSN)
  • environment (String) - (defaults to process.env.SENTRY_ENVIRONMENT || process.env.NODE_ENV || 'production')
  • serverName (String) - transport's name (defaults to winston-transport-sentry-node)
  • debug (Boolean) - turns debug mode on or off (default to process.env.SENTRY_DEBUG || false)
  • sampleRate (Number) - sample rate as a percentage of events to be sent in the range of 0.0 to 1.0 (default to 1.0)
  • maxBreadcrumbs (Number) - total amount of breadcrumbs that should be captured (default to 100)
  • ... Other options

Info object (See more)

// example

const sentryFormat = format(info => {
  const output = Object.assign({}, info);

  output.tags = {
    path: info.path ? info.path : '',
    request_id: info.label
  };

  return output;
});

new SentryTransport({
  format: sentryFormat(),
  // ...
})

Log Level Mapping

Winston logging levels are mapped by default to Sentry's acceptable levels.

{
  silly: 'debug',
  verbose: 'debug',
  info: 'info',
  debug: 'debug',
  warn: 'warning',
  error: 'error'
}

License

MIT License

About

🍡 @sentry/node transport for the winston v3 logger

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 100.0%