The bugsnag.notify()
function asynchronously sends reports to Bugsnag. It
accepts a JavaScript Error
or a string as the first argument, and a callback or a map of reporting options
as the second.
The callback
is invoked after notifying Bugsnag of an error. The callback
has two arguments:
error
argument will contain any error received when trying to send the notification, andresponse
object will contain the response received from Bugsnagbugsnag.notify(new Error("Something went badly wrong"), function (error, response) {
if(error) {
// Something went wrong
} else {
// The notify worked
}
});
The options map argument can be used to customize the report before it is sent to Bugsnag.
context
A string representing what was happening in your application at the time of the error. In Express/Connect apps, this will automatically be set to the URL of the current request:
bugsnag.notify(new Error("Something went badly wrong"), { context: "/users/new" });
errorName
Errors in your Bugsnag dashboard are grouped by their “error class”,
to override the error class you can set errorName
:
bugsnag.notify(new Error("Something went badly wrong"), { errorName: "BadError" });
groupingHash
If you need programmatical control over how the errors are grouped within Bugsnag, you can send a groupingHash to the notify call. This will ensure that Bugsnag groups all errors with the same groupingHash together:
bugsnag.notify(new Error("Something went badly wrong"), { groupingHash: "auth/create" });
metaData
Any extra data you want along with the exception report to Bugsnag. To do this just set other properties on the object, and you will see them as tabs in the error dashboard:
bugsnag.notify(new Error("Something went badly wrong"), {
subsystem: {
name: "Your subsystem name"
}
});
severity
Severity is displayed in the dashboard and can be used to filter the
error list. By default all crashes (or unhandled exceptions) are set
to error
and all Bugsnag.notify
calls default to warning
.
You can set the severity of an error in Bugsnag by including the
severity
option when notifying Bugsnag of the error:
bugsnag.notify(new Error("Non-fatal"), { severity: "error" });
Valid severities are error
, warning
and info
.
userId
A unique identifier for a user affected by this error. This could be any distinct identifier that makes sense for your application. In Express/Connect apps, this is automatically set to the ip address of the current request.
bugsnag.notify(new Error("Something went badly wrong"), { userId: "bob-hoskins" });