Send pino error & fatal logs into Sentry
npm install pino-sentry-errors -g
node ./app.js | pino-sentry-errors --dsn=https://******@sentry.io/12345
const { createWriteStream } = require("pino-sentry-errors");
// ...
const opts = {
/* ... */
};
const stream = createWriteStream({ dsn: process.env.SENTRY_DSN });
const logger = pino(opts, stream);
--dsn
(-d
): your Sentry DSN or Data Source Name (defaults toprocess.env.SENTRY_DSN
)--environment
(-e
): (defaults toprocess.env.SENTRY_ENVIRONMENT || process.env.NODE_ENV || 'production'
)--serverName
(-n
): transport name (defaults topino-sentry-errors
)--debug
(-dm
): turns debug mode on or off (default toprocess.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 to1.0
)--maxBreadcrumbs
(-mx
): total amount of breadcrumbs that should be captured (default to100
)
Pino logging levels are mapped by default to Sentry's acceptable levels.
{
trace: 'debug',
debug: 'debug',
info: 'info',
warn: 'warning',
error: 'error',
fatal: 'fatal'
}
This package is nearly identical with pino-sentry
by @aandrewww. The only difference is that it only sends logs with level error
and fatal
to Sentry, while pino-sentry
sends all logs.