winston-node-sentry v1.3.0
winston-node-sentry
This project aim to create a transport for winston 3.0.0 that send error to sentry.
How to use
Example
import winston from 'winston'
import { SentryTransport } from 'winston-node-sentry'
let opts = {
level: 'info',
sentryOpts: {
dsn: 'YOUR-DSN'
}
}
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
defaultMeta: { service: 'user-service' },
transports: [
new SentryTransport(opts)
]
})Some default behavor is set feel free to see in code
Options
You can pass some options to SentryTransport
{
debug: false,
level: 'info',
init: true,
sentry: NodeSentryModule,
sentryOpts: {},
sentryScope: (scope) => {}
}debug
Used to log each action of logger and error
level
Equivalent to winston level sentry will log error if level is same or below
init
This options is to set if winston-node-sentry must init @node/sentry module,
or if user want to do it.
sentry
Is an @node/sentry object that can be used internally, if not passed
winston-node-sentry will create his own
sentryOpts
Options passed to @node/sentry see docs to get some more infos
sentryScope
Default custom scope function that can be set by winston-node-sentry when it
init @node/sentry
Development
Start
First of all you must install package
$ yarn installYou can build source to javascript
$ yarn buildor you can generate sourceMap with it
$ yarn build:debugWhen you're working on this module you can watch it
$ yarn watchTests
You can test if this modules works with sentry instance inside this repository
Start sentry instance
$ ./sentry/scripts/up.shGet sentry DSN
$ ./sentry/extract_dsn.pyCopy DSN inside test file
And execute tests
$ yarn testWorkflow
This is written in typescript and use standard linter.
Linter
We use ts-lint as linter with standard configuration, please if you submit
any pull respect lint you can check it
$ npm run lint