Airbrake Notifier for .NET
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 90 commits ahead of adamjford:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


SharpBrake is a .NET library for use with the Airbrake exception reporting service by Thoughtbot. Airbrake allows you to easily track and get notification about exceptions that occur on your site.

The SharpBrake library can be used in two ways:

  1. You can programmatically report exceptions with the extension method SendToAirbrake() in a try/catch block.
  2. You can configure the HttpModule in web.config, which will catch any unhandled exceptions on your site and report them to Airbrake.


First, you need to get the library down from the internets and onto your local hard drive. The preferred method to accomplish this is to install NuGet and then via any of its many interfaces install the SharpBrake Package.

If you want to build the library yourself, you can fork or clone it and build it with Visual Studio (2008 or 2010; both are supported). Drop the files SharpBrake.dll and Common.Logging.dll into your application's bin directory and you're almost good to go.

Once SharpBrake is downloaded, built, installed or otherwise resides in your application's bin directory, you'll need to edit your application's .config file to include your API key for Airbrake as well as an environment name:

	<add key="Airbrake.ApiKey" value="1234567890abcdefg" />
	<add key="Airbrake.Environment" value="Whatever" />

To programmatically report exceptions, all you need to do is ensure you've included the SharpBrake namespace, and then call the SendToAirbrake() extension method on the exception. For example:

using SharpBrake;

	// some code
catch (Exception exception)
	// Oh noes!

To use the HttpModule, you will just need to add it as an HttpHandler within your web.config:

	<add name="Airbrake" type="SharpBrake.NotifierHttpModule, SharpBrake"/>


There are some important things to do on the HttpModule still. Most importantly, it will be incredibly verbose on its exception handling. In .NET, a 404 is considered an exception, so it will catch, report, and subsequently notify you of any time someone tries to access a URL that doesn't exist.

To circumvent this, plan on adding the ability to set a series of patterns that you can use to exclude exceptions based on exception type, part of the message, or something along those lines.