micro-raven-errors - Micro wrapper for capturing application errors with Raven
Installation
yarn add @ansaro/micro-raven-errors
Usage
micro-raven-errors exports a single function that wraps a micro services, and captures any errors with an http status of 500 or greater with Raven.
reportErrors: (fn: MicroFunction) => MicroFunction
type MicroFunction = (req http.IncomingMessage, reshttp.ServerResponse) => any
fn
: A function that could otherwise run standalone inside micro. This is your application code.
micro-raven-errors also expect you to provide a Data Source Name, which is a URL where Sentry listens to collect errors from your application. You'll need to set process.env.SENTRY_DSN
to be this URL.
Unexpected application errors and HTTP errors with a status code of 500 or higher will be reported to Sentry. Expected HTTP errors like 404s will not be reported.
const micro = require("micro")
const reportErrors = require("@ansaro/micro-raven-errors");
const testServer = async (req, res) => {
const body = await micro.json(req);
if (!body.name) {
throw micro.createError(400); // not reported to Sentry
}
if (body.massiveError) {
throw micro.createError(500, "This is a massive error"); // reported to Sentry
}
return { success: true };
};
module.exports = reportErrors(testServer)