One of the core components of Hawk is Catchers. 

What is the Catcher

Catcher is a small library, that you can install into your application and it will catch all errors that occurred in runtime and send them to the Hawk.

Available Catchers

Hawk offers several officially supported Catchers. You can find the Catchers list and links to the GitHub repository with links below.

If you don't see a Catcher for your app's language, create it by yourself. Read the document "How create a Catcher".

Catcher features

Global error handler

A Catcher can bind to the global error handler and catch all unhandled errors to send them to the Hawk.

Manual events sending

A User can use Catcher in order to send an event to the Hawk manually, with a simple method call (e.g. hawk.send(new Error())  or hawk.send('Your message')).

Providing an event with custom context

A Catcher has the ability to specify a custom context in an event in order to send it to the Hawk with the event.

Context is any data that the user can send along with the event in order to view it in the Event overview. This can be extremely useful when debugging an application.

Sending user data

It is possible to specify user data while sending an event for easily debugging.

Sending addons

Addons are additional information about an event that can help you debug it. Addons are built automatically. Use context if you need to send custom data.

Sensitive information filtering

If you want to filter some event's data before sending it to the Hawk (e.g. bank cards numbers, tokens, etc), you can specify before send hook, that fires every time before sending an event. With this hook, you can remove fields and values which contain sensitive information.

More about sensitive information filtering

Features support table

Feature Node.js JavaScript Python PHP Go Android
Global error handler
Manual events sending
Custom context
Sending user data
Sending addons
Sensitive information  filtering WIP