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:
-
Sharpbrake.Client
: C# client with support for .NET 3.5, 4.5 and .NET Core. Available on NuGet -
Sharpbrake.Http.Module
: HTTP module forASP.NET
request pipeline. Available on NuGet -
Sharpbrake.Http.Middleware
: Middleware component for newASP.NET
Core pipeline. Available on NuGet -
Sharpbrake.NLog
: Middleware component for newASP.NET
Core pipeline. Available on NuGet -
Sharpbrake.NLog.Web
: Airbrake NLog target forASP.NET
. Available on NuGet -
Sharpbrake.Log4net
: Airbrake log4net appender. Available on NuGet -
Sharpbrake.Log4net.Web
: Airbrake log4net appender forASP.NET
. Available on NuGet -
Sharpbrake.Extensions.Logging
: Airbrake provider for Microsoft.Extensions.Logging. Available on NuGet
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
orWeb.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.