Reporting Errors
Use Honeybadger.notify(exception)
to send any exception to Honeybadger. For
example, to notify Honeybadger of a rescued exception without re-raising:
begin
fail 'oops'
rescue => exception
Honeybadger.notify(exception)
end
Reporting Errors Without an Exception
You can report any type of error to Honeybadger, not just exceptions. The
simplest form is calling Honeybadger.notify
with an error message:
Honeybadger.notify("Something is wrong here")
The error's class name will default to "Notice", and a backtrace will be
generated for you from the location in your code where Honeybadger.notify
was
called.
Passing Additional Options to Honeybadger.notify
In some cases you will want to override the defaults or add additional
information to your error reports. To do so, you can pass a second options
Hash
to Honeybadger.notify
.
For example, building on the example in Reporting errors without an exception, you could override the default class name:
Honeybadger.notify("Something is wrong here", error_class: "MyError")
These are all the available options you can pass to Honeybadger.notify
:
Option name | Description | Default value |
---|---|---|
:error_message |
The String error message. |
nil |
:error_class |
The String class name of the error. |
"Notice" |
:backtrace |
The Array backtrace of the error. |
caller |
:fingerprint |
The String grouping fingerprint of the exception. |
nil |
:force |
Always report the exception when true , even when ignored. |
false |
:sync |
Send data synchronously (skips the worker) when true . |
false |
:tags |
The String comma-separated list of tags. |
nil |
:context |
The Hash context to associate with the exception. |
nil |
:controller |
The String controller name (such as a Rails controller). |
nil |
:component |
The String component name (such as a Rails controller name). |
nil |
:action |
The String action name (such as a Rails controller action). |
nil |
:parameters |
The Hash HTTP request paramaters. |
nil |
:session |
The Hash HTTP request session. |
nil |
:url |
The String HTTP request URL. |
nil |
Getting the Current Backtrace
There are two ways to get the current backtrace in Ruby:
-
Thread.current.backtrace
returns the entire backtrace up to and including the current method. -
caller
returns the backtrace up to but NOT including the current method.
Either method can be passed to Honeybadger.notify
using the backtrace
option. Honeybadger sends the exception backtrace by default, or caller
if
there is no exception object available.