ArgoZhang/BootstrapAdmin

Setup Airbrake for your .NET application

ArgoZhang opened this issue · 0 comments

Installation

Installation is available by the package repository NuGet. There are a variety of packages, each for different types of .NET apps:

Adding via Package Manager

For .NET 4.5.2 applications and above install the Sharpbrake.Client package available on NuGet via your Package Manager Console:

PM> Install-Package Sharpbrake.Client

Configuration

Before using the library and its notifiers, you must to configure them. In most cases, it is sufficient to configure only one, default, notifier.

(You can find your project API KEY with your project's settings):

var airbrake = new AirbrakeNotifier(new AirbrakeConfig
  {
    ProjectId = "<Your project ID>",
    ProjectKey = "<Your project API KEY>"
  });

There are multiple ways to set your PROJECT_ID and PROJECT_KEY:

  • Setting explicitly:

    var config = new AirbrakeConfig {
      ProjectId = "<Your project ID>",
      ProjectKey = "<Your project API KEY>"
    };
  • Using App.config or Web.config:

    <appSettings>
        <add key="Airbrake.ProjectId" value="<Your project ID>" />
        <add key="Airbrake.ProjectKey" value="<Your project API KEY>" />
    </appSettings>
    var settings = ConfigurationManager.AppSettings.AllKeys
        .Where(key => key.StartsWith("Airbrake", StringComparison.OrdinalIgnoreCase))
        .ToDictionary(key => key, key => ConfigurationManager.AppSettings[key]);
    
    var airbrakeConfiguration = AirbrakeConfig.Load(settings);
  • Using airbrake.json. Use comma-separated values to add more than one
    argument for options that support it:

    {
      "Airbrake": {
        "ProjectId": "<Your project ID>",
        "ProjectKey": "<Your project API KEY>",
      }
    }
    var path = "airbrake.json";
    var configurationBuilder = new ConfigurationBuilder()
        .SetBasePath(System.IO.Directory.GetCurrentDirectory())
        .AddJsonFile(path)
        .Build();
    
    var settings = configurationBuilder.AsEnumerable()
        .Where(setting => setting.Key.StartsWith("Airbrake"))
        .ToDictionary(setting => setting.Key, setting => setting.Value);
    
    var airbrakeConfiguration = AirbrakeConfig.Load(settings);

For a rundown of advanced configuration options and the notifier API provided for .NET/C# apps, please visit our GitHub.