GithubHelp home page GithubHelp logo

sharpbrake's Introduction

SharpBrake

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.

Usage

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 and optionally the Airbrake server Url (default value is set to https://api.airbrake.io/notifier_api/v2/notices)

<appSettings>
  <add key="Airbrake.ApiKey" value="1234567890abcdefg" />
  <add key="Airbrake.Environment" value="Whatever" />
  <add key="Airbrake.ServerUri" value="Airbrake server url (optional)" />
</appSettings>

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;

try
{
  // some code
}
catch (Exception exception)
{
  // Oh noes!
  exception.SendToAirbrake();
}

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

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

If you are using IIS7+ in Integrated Pipeline mode, add the HttpModule to the system.webServer section of your web.config:

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <modules runAllManagedModulesForAllRequests="true">
    <add name="Airbrake" type="SharpBrake.NotifierHttpModule, SharpBrake"/>
  </modules>
</system.webServer>

TODO

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.

sharpbrake's People

Contributors

asbjornu avatar bondehagen avatar hdeshev avatar friism avatar matthoneycutt avatar kylewest avatar linkexe avatar

Watchers

Maxim Bondaruk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.