@zentered/fastify-sentry

2.3.0 • Public • Published

Fastify Sentry Plugin using the Sentry SDK

Test Semantic Release Conventional Commits

Installation

npm i @zentered/fastify-sentry

or

yarn add @zentered/fastify-sentry

Usage

const 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')
})

Description

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.

Options

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

Author

Alex Papageorgiou

License

Licensed under GPLv3.

/@zentered/fastify-sentry/

    Package Sidebar

    Install

    npm i @zentered/fastify-sentry

    Weekly Downloads

    193

    Version

    2.3.0

    License

    GPL-3.0-or-later

    Unpacked Size

    53 kB

    Total Files

    20

    Last publish

    Collaborators

    • patrickheneise