bugsnag-hapi
Hapi plugin to support Bugsnag. Modeled from their Express and Koa middleware.
Setup
Set up your Bugsnag client
const options = {
apiKey = "234sdfsd3434rfdf34r34rf"
autoCaptureSessions: true,
notifyReleaseStages: ["production", "sandbox", "staging"],
releaseStage: "staging",
filters: ['password', 'authorization']
}
const bugsnagClient = bugsnag(options)
Register the plugin
Register the plugin with your Hapi server.
const buildServer = async () => {
const server = hapi.Server({
port: 4000,
}
bugsnagPlugin.register(server, { client: bugsnagClient })
onRequest(server)
onPreResponse(server)
routes.register(server)
return server
}
Easily add properties to your bugsnag context
The plugin automatically sets up a contextualized bugsnag client on your Hapi request at:
request.app.bugsnag
To access your request contextualized client:
const bugsnagRequestClient = request.app.bugsnag
At any point where you have access to the request, you can add custom properties that will be reported to bugsnag on error.
request.app.bugsnag.user = { id: someObject.userId }
request.app.bugsnag.metaData.partner = { id: partnerId, name: 'My partner name' }