Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
winston-transport-sentry-node
Advanced tools
@Sentry/node transport for the winston v3 logger.
npm install --save winston winston-transport-sentry-node
You can configure winston-transport-sentry-node
in two different ways.
With winston.createLogger
:
const winston = require('winston');
const Sentry = require('winston-transport-sentry-node').default;
const options = {
sentry: {
dsn: 'https://******@sentry.io/12345',
},
level: 'info'
};
const logger = winston.createLogger({
transports: [
new Sentry(options)
]
});
Or with winston's add
method:
const winston = require('winston');
const Sentry = require('winston-transport-sentry-node').default;
const logger = winston.createLogger();
logger.add(new Sentry(options));
See Options below for custom configuration.
options
)sentry
(Object) - a Sentry configuration object (see Sentry Common Options)silent
(Boolean) - suppress logging (defaults to false
)level
(String) - transport's level of messages to log (defaults to info
)format
(Object) - custom log format (see Winston Formats)levelsMap
(Object) - optional custom mapping between Winston's log levels and Sentry's log levels (default)dsn
(String) - your Sentry DSN or Data Source Name (defaults to process.env.SENTRY_DSN
)environment
(String) - (defaults to process.env.SENTRY_ENVIRONMENT || process.env.NODE_ENV || 'production'
)serverName
(String) - transport's name (defaults to winston-transport-sentry-node
)debug
(Boolean) - turns debug mode on or off (default to process.env.SENTRY_DEBUG || false
)sampleRate
(Number) - sample rate as a percentage of events to be sent in the range of 0.0 to 1.0 (default to 1.0
)maxBreadcrumbs
(Number) - total amount of breadcrumbs that should be captured (default to 100
)If info.tags
is an object, it will be sent as Sentry Tags.
logger.error("some error", { tags: { tag1: "yo", tag2: "123" } });
If info.user
is an object, it will be sent as Sentry User.
logger.error("some error", { user: { username: "somebody", id: "123" } });
Additional properties of info
are sent as Sentry Extra Context.
logger.error("some error", { whatever: "is sent as extra" });
Tip! If you already have logging in place and want to use Sentry tags but don’t want to update all places where you log something, use a format
function.
const sentryFormat = format(info => {
const {path, label, ...extra} = info;
return {
...extra,
tags: {
path: path || '',
request_id: label
}
}
});
new SentryTransport({
format: sentryFormat()
// ...
});
Winston logging levels are mapped by default to Sentry's acceptable levels.
{
silly: 'debug',
verbose: 'debug',
info: 'info',
debug: 'debug',
warn: 'warning',
error: 'error'
}
See available Sentry's levels.
Matching is done with Sentry.Severity.fromString()
method and will defaults to log
FAQs
@sentry/node transport for the winston v3 logger
The npm package winston-transport-sentry-node receives a total of 53,716 weekly downloads. As such, winston-transport-sentry-node popularity was classified as popular.
We found that winston-transport-sentry-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.