Other .NET apps

Add Bugsnag to other .NET applications.

Installation

  • Install the Bugsnag package from Nuget.

Manual Library Reference

  • Download the latest Bugsnag.dll and reference it in your project

Bugsnag for .NET depends only on the JSON.net library and needs to be referenced, the nuget package can be found here.

Basic configuration

Bugsnag will catch exceptions in standard .NET applications. To do so you can construct a Bugsnag.Clients.BaseClient (there is a Singleton convenience wrapper in Bugsnag.Clients.SingletonClient if you would like to use it.)

  1. Import the Bugsnag.Clients namespace.

    using Bugsnag.Clients;
    
  2. Create the client using your Integration API Key

    var bugsnag = new BaseClient("your-api-key-goes-here");
    

Reporting unhandled exceptions

After completing installation and basic configuration, unhandled exceptions will be automatically reported to your Bugsnag dashboard.

Reporting handled exceptions

If you would like to send non-fatal exceptions to Bugsnag, you can pass any object that inherits from Exception to the Notify method:

BaseClient.Notify(new ArgumentException("Non-fatal"));

Sending diagnostic data

It is often helpful to send us additional application-specific diagnostic data. This can be accomplished as per the following example:

var metadata = new Metadata();
metadata.AddToTab("Resources", "Datastore Entries", myDataStore.Count());
metadata.AddToTab("Resources", "Threads Running", threads.Count());
metadata.AddToTab("Resources", "Throttling Enabled", false);

BaseClient.Notify(new ArgumentException("Non-fatal"), metadata);

Customizing report severity

You can set the severity of an error in Bugsnag by including the severity option when notifying bugsnag of the error,

BaseClient.Notify(new ArgumentException("Non-fatal"), Severity.Info)

Valid severities are Severity.Error, Severity.Warning and Severity.Info.

Severity is displayed in the dashboard and can be used to filter the error list.

By default all crashes (or unhandled exceptions) are set to Severity.Error and all BaseClient.Notify() calls default to Severity.Warning.

Identifying users

The client can be configured to send the users ID, email and name with every notification. The user ID should be set to something unique to the user e.g. a generated GUID.

BaseClient.Config.SetUser("d7b4aadd", "anth.m@mycompany.com", "Anthony Michaels");

Next steps