npm i @zentered/fastify-sentry
or
yarn add @zentered/fastify-sentryconst fastifySentry = require('@zentered/fastify-sentry')
const errorHandler = (err, req, reply) => {
reply.status(req.body.error).send({
message: req.body.message,
e: err.message
})
}
app.register(fastifySentry, {
dsn: process.env.SENTRY_DSN,
environment: 'development',
tracing: true,
tracesSampleRate: 1.0,
errorHandler
})
fastify.get('/', async (request, reply) => {
// Errors in async functions are automatically caught
throw new Error('Oops')
})This plugin adds the Sentry SDK error handler by using setErrorHandler. It also adds certain metadata, namely the path and the ip parameters of the request, to both the User context and Tag context of Sentry. If you use jwt authentication, the user id is also added to Sentry.
| Option | Required | Description |
|---|---|---|
dsn |
required | The DSN specified by Sentry.io to properly log errors to. |
tracing |
optional | Default false, enable Sentry tracing. |
errorHandler |
optional | Custom error handler for errors. |
errorFilter |
optional | Error filter to selectively disable Sentry reporting. |
You can find further options in the Node.js Guide on Sentry.io
Licensed under GPLv3.