@boelensman1/pino-sentry

@sentry/node transport for pino logger

Usage no npm install needed!

<script type="module">
  import boelensman1PinoSentry from 'https://cdn.skypack.dev/@boelensman1/pino-sentry';
</script>

README

pino-sentry

CircleCI node license

Load pino logs into Sentry

Index

Install

npm install pino-sentry -g

Usage

CLI

node ./app.js | pino-sentry --dsn=https://******@sentry.io/12345

API

const { createWriteStream } = require('pino-sentry');
// ...
const opts = { /* ... */ };
const stream = createWriteStream({ dsn: process.env.SENTRY_DSN });
const logger = pino(opts, stream);

Options (options)

Transport options

  • --dsn (-d): your Sentry DSN or Data Source Name (defaults to process.env.SENTRY_DSN)
  • --environment (-e): (defaults to process.env.SENTRY_ENVIRONMENT || process.env.NODE_ENV || 'production')
  • --serverName (-n): transport name (defaults to pino-sentry)
  • --debug (-dm): turns debug mode on or off (default to process.env.SENTRY_DEBUG || false)
  • --sampleRate (-sr): sample rate as a percentage of events to be sent in the range of 0.0 to 1.0 (default to 1.0)
  • --maxBreadcrumbs (-mx): total amount of breadcrumbs that should be captured (default to 100)

Log Level Mapping

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

{
  trace: 'debug',
  debug: 'debug',
  info: 'info',
  warn: 'warning',
  error: 'error',
  fatal: 'fatal'
}

License

MIT License