1.0.3 • Published 5 years ago

sentry-winston-transport v1.0.3

Weekly downloads
37
License
MIT
Repository
github
Last release
5 years ago

Sentry Winston Transport

Winston transport for Sentry

Install

$ npm install sentry-winston-transport

Initialise

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

let logger = WINSTON.createLogger({
    transports: [
      new Sentry({
        dsn: '<sentry dsn>',
      })
    ]
  });

Full list of configuration options

dsn                 // Required
release             // No default value
servername          // No default value
debug               // Default: true
environment         // Default: 'DEV'
sampleRate          // Default: 1.0
maxBreadcrumbs      // Default: 100
attachStacktrace    // Default: false
sendDefaultPii      // Default: true

For more information on configuration options, visit sentry's official documentation here

Levels Mapping

Winston levels are mapped to the Sentry levels by:

silly   :    'debug'
verbose :    'debug'
info    :    'info'
debug   :    'debug'
warn    :    'warning'
error   :    'error'

Usage

logger.log('info', 'My first log');

Log Errors

try {
    someBuggyCode();
} catch (error) {
    logger.log('error', 'An error occured', { error });
}

Adding context

  • Tags
    let tags = {
      controller: 'getUsersList',
      fileName: 'controllers.js' 
    };
    logger.log('error', 'An error occured', { error, tags });
  • User
    let user = {
      id: '5b8b7f1acd12ca319a46a9e9',
      email: 'abc@example.com' 
    };
    logger.log('error', 'An error occured', { error, user });
  • Extra Data
    let extra = {
      timeStamp: new Date(),
      requestId: '5b8b8550cd12ca319a46aa0f'  
    };
    logger.log('error', 'An error occured', { error, ...extra });