@omgaz/winston-bugsnag-logger
v0.0.6
Published
The maintained and well-documented Bugsnag transport for the winston logger
Downloads
6,303
Maintainers
Readme
This package is deprecated and a better alternative has been created, please use Cabin: https://cabinjs.com
This fork is a stop gap until such time as I can migrate to Pino / CabinJS
winston-bugsnag-logger
The maintained and well-documented Bugsnag transport for the winston logger.
Full API documentation is available at: https://docs.bugsnag.com/api/error-reporting/
Index
Install
npm install --save winston winston-bugsnag-logger
Usage
You can configure winston-bugsnag-logger
in two different ways.
With new winston.Logger
:
const winston = require("winston");
const Bugsnag = require("winston-bugsnag-logger");
const options = {
apiKey: "*******",
level: "info",
};
const logger = new winston.Logger({
transports: [new Bugsnag(options)],
});
Or with winston's add
method:
const winston = require("winston");
const Bugsnag = require("winston-bugsnag-logger");
const logger = new winston.Logger();
logger.add(Bugsnag, options);
See Options below for custom configuration.
Options (options
)
Per options
variable above, here are the default options provided:
Default options:
apiKey
(String) - your Bugsnag API key (defaults toprocess.env.BUGSNAG_API_KEY
)config
(Object) - a Bugsnag configuration objectbugsnag
(Object) - an optional instance ofbugsnag
that is already configured viabugsnag.register
(if provided this will be used instead of theconfig
option)
Transport related options:
name
(String) - transport's name (defaults tobugsnag
)silent
(Boolean) - suppress logging (defaults tofalse
)level
(String) - transport's level of messages to log (defaults toinfo
)levelsMap
(Object) - log level mapping to Bugsnag (see Log Level Mapping below)
Log Level Mapping
Winston logging levels are mapped by default to Bugsnag's acceptable levels.
These defaults are set as `options.levelsMap' and are:
{
silly: 'info',
verbose: 'info',
info: 'info',
debug: 'debug',
warn: 'warning',
error: 'error'
}
You can customize how log levels are mapped using the levelsMap
option:
new Bugsnag({
levelsMap: {
verbose: "info",
},
});
If no log level mapping was found for the given level
passed, then it will not log anything.