fastify-bugsnag

Fastify plugin for Bugsnag


Keywords
bugsnag, crash-logging, errors, error-logging, error-reporting, fastify-bugsnag, fastify-bugsnag-plugin, fastify-error-reporting, fastify-plugin, bugsnag-js, fastify
License
MIT
Install
npm install fastify-bugsnag@0.1.0

Documentation

Fastify Bugsnag Plugin

NPM version CI workflow Known Vulnerabilities js-standard-style Test Coverage

Easily send your application errors to Bugsnag from your Fastify server.

Description

The plugin will decorate FastifyInstance and FastifyRequest with bugsnag property. The value behind bugsnag, is a full BugsnagClient. Bugsnag documentation.

To the FastifyInstance is attached also an onError handler, which will send all the errors directly to your Bugsnag dashboard. In the similar fashion as it's done by the official @bugsnag/plugin-express.

⚠️ Plugin Behaviour ⚠️

Be aware that the plugin mimics the behaviour of official Bugsnag Express plugin with appending the request data to the error. That includes body, query and params which may include user data!

Compatibility

Version
Fastify ^5.x
Bugsnag ^8.0.0
Node ^20.10.0 || ^22.0.0

Installation

npm install fastify-bugsnag --save

# OR

yarn add fastify-bugsnag

Usage

// Javascript
// index.js
const fastify = require('fastify')();

fastify.register(require('fastify-bugsnag'), {
  apiKey: 'Your-Bugsnag-API-Key', // Defaults to process.env.BUGSNAG_API_KEY
  // Rest of Bugsnag Configuration Options
});

// Typescript/ESM
// index.ts
import fastify from 'fastify';
import fastifyBugsnag from 'fastify-bugsnag';

fastify.register(fastifyBugsnag, {
  apiKey: 'Your-Bugsnag-API-Key', // Defaults to process.env.BUGSNAG_API_KEY
  // Rest of Bugsnag Configuration Options
});
// routes.ts
fastify.get('/', async (request, reply) => {
  fastify.bugsnag.leaveBreadcrumb('Visited homepage'); // OR request.bugsnag.leaveBreadcrumb();
});

fastify.get('/error', async (request, reply) => {
  request.bugsnag.notify(new Error('This is a generic error'));
});

Options

Parameter Default Value Description
apiKey process.env.BUGSNAG_API_KEY API Key obtained from Bugsnag dashboard project. REQUIRED

For additional options check the official documentation of Bugsnag here.

License

Licensed under MIT.