Skip to content

Send errors captured by graphql to sentry, bugsnag or similar

License

Notifications You must be signed in to change notification settings

eclass/graphql-notify-errors

Repository files navigation

graphql-notify-errors

npm version npm downloads devDependency Status

Send errors captured by graphql to sentry, bugsnag or similar

Installation

npm i graphql-notify-errors

Use

const { formatError, GraphQLError } = require('graphql')
const express = require('express')
const Raven = require('raven')
const NotifyErrors = require('graphql-notify-errors')

Raven.config(process.env.SENTRY_DSN).install()

const filter = err => !(err instanceof GraphQLError)
const options = {
  formatError,
  filter,
  notify: Raven.captureException
}
const notifyErrors = new NotifyErrors(options)
const app = express()
app.use('/graphql', graphqlExpress(req => {
    return {
      schema,
      context: { req },
      formatError: err => notifyErrors.formatError(err)
    }
  })
)

License

MIT