winston-sentry-log
Sentry transport for the winston v3 logger using @sentry/node.
Index
Install
yarn add winston winston-sentry-log
Usage
You can configure winston-sentry-log
in two different ways.
With new winston.Logger
:
import winston from 'winston';
import Sentry from 'winston-sentry-log';
const options = {
dsn: "https://******@sentry.io/12345",
level: "info"
};
const logger = new winston.createLogger({
transports: [new Sentry(options)]
});
Or with winston's add
method:
import winston from 'winston';
import Sentry from 'winston-sentry-log';
const logger = new winston.createLogger();
logger.add(Sentry, options);
See Options below for custom configuration.
options
)
Options (Per options
variable above, here are the default options provided:
Default Sentry options:
dsn
(String) - your Sentry DSN or Data Source Name (defaults toprocess.env.SENTRY_DSN
)
Transport related options:
name
(String) - transport's name (defaults towinston-sentry-log
)silent
(Boolean) - suppress logging (defaults tofalse
)level
(String) - transport's level of messages to log (defaults toinfo
)levelsMap
(Object) - log level mapping to Sentry (see Log Level Mapping below)
options.config
)
Default Sentry Options (logger
(String) - defaults towinston-sentry-log
server_name
(String) - defaults toprocess.env.SENTRY_NAME
oros.hostname()
release
(String) - defaults toprocess.env.SENTRY_RELEASE
environment
(String) - defaults toprocess.env.SENTRY_ENVIRONMENT
)modules
(Object) - defaults topackage.json
dependenciesextra
(Object) - no default valuefingerprint
(Array) - no default value
For a full list of Sentry options, please visit https://docs.sentry.io/clients/node/config/.
Log Level Mapping
Winston logging levels are mapped by default to Sentry's acceptable levels.
These defaults are set as options.levelsMap
and are:
{
silly: 'debug',
verbose: 'debug',
info: 'info',
debug: 'debug',
warn: 'warning',
error: 'error'
}
You can customize how log levels are mapped using the levelsMap
option:
new Sentry({
levelsMap: {
verbose: "info"
}
});
If no log level mapping was found for the given level
passed, then it will not log anything.