Honeybadger.Extensions.Logging
0.3.0
See the version list below for details.
dotnet add package Honeybadger.Extensions.Logging --version 0.3.0
NuGet\Install-Package Honeybadger.Extensions.Logging -Version 0.3.0
<PackageReference Include="Honeybadger.Extensions.Logging" Version="0.3.0" />
<PackageVersion Include="Honeybadger.Extensions.Logging" Version="0.3.0" />
<PackageReference Include="Honeybadger.Extensions.Logging" />
paket add Honeybadger.Extensions.Logging --version 0.3.0
#r "nuget: Honeybadger.Extensions.Logging, 0.3.0"
#:package Honeybadger.Extensions.Logging@0.3.0
#addin nuget:?package=Honeybadger.Extensions.Logging&version=0.3.0
#tool nuget:?package=Honeybadger.Extensions.Logging&version=0.3.0
Honeybadger for .Net Apps
This is the .Net Honeybadger Notifier.
Supported .Net versions:
Family | Version |
---|---|
.Net | 5.0, 6.0 |
.Net Standard | 2.0, 2.1 |
.Net Core | 3.0, 3.1 |
.Net Framework | 4.6.1 |
Getting Started
For .Net Core Web App
- Install Honeybadger.DotNetCore from Nuget
dotnet add package Honeybadger.DotNetCore
- Register the Honeybadger Middleware:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHoneybadger();
You can get access to the Honeybadger Client using DI:
app.MapGet("/", ([FromServices] IHoneybadgerClient client) =>
{
client.AddBreadcrumb("reached index route", "route", new Dictionary<string, object?>());
return "Hello World!";
});
- Any unhandled exceptions should be reported to Honeybadger automatically:
app.MapGet("/debug", () =>
{
throw new Exception("hello from .Net Core Web App!");
});
See example project in examples/Honeybadger.DotNetCoreWebApp
.
As a custom logging provider
- Install Honeybadger.Extensions.Logging from Nuget
dotnet add package Honeybadger.Extensions.Logging
- Register the custom logging provider:
var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddHoneybadger();
- Errors from the
logger
will be reported to Honeybadger:
app.MapGet("/notify", ([FromServices] ILogger logger) =>
{
logger.LogError("hello from Honeybadger.Logger!");
return "Log reported to Honeybadger. Check your dashboard!";
});
See example project in examples/Honeybadger.DotNetCoreWebApp.Logger
.
Using the SDK manually
- Install the Honeybadger Nuget.
dotnet add package Honeybadger
- Initialize the Honeybadger Client:
var client = HoneybadgerSdk.Init(new HoneybadgerOptions("apiKey")
{
AppEnvironment = "development"
});
- Call
notify
to report to Honeybadger:
client.Notify("hello from .Net !");
See example project in examples/Honeybadger.Console
.
Changelog
Changelog is automatically generated using Conventional Commits with versionize. Conventional Commits are enforced with a pre-commit git hook (using husky).
Contributing
- Fork the repo.
- Create a topic branch git checkout -b my_branch
- Commit your changes git commit -am "chore: boom"
- Write a test that verifies your changes
- Push to your branch git push origin my_branch
- Send a pull request
- Make sure that CI checks are passing
Releasing
All packages are published on nuget.org with a Github Actions Worfklow. The workflow does the following:
dotnet versionize
- bump versions and generate changelogdotnet pack
dotnet package push
Note: only users with write permissions can trigger this workflow (i.e. Collaborators).
Known bugs
- Always shows "Honeybadger.HoneybadgerClient" when reporting a notice with a message
TODO
- Publish README with basic info to setup core nuget
- Publish Honeybadger.DotNetCore with README
- Publish Honeybadger.Extensions.Logging with README
- Deploy under Honeybadger org
- Implement Error Grouping (custom fingerprint)
- Implement Error Tags
- Allow excluding errors (either with a BeforeNotify method or exception classes config)
- Implement Filter Keys (exclude sensitive keys)
- Implement Checkins
- Implement Collect User Feedback
- Create guide for Deployment Tracking
- Create integration guide in honeybadger-docs project
License
This Honeybadger repository and published packages are MIT licensed. See the MIT-LICENSE file in this repository for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- Honeybadger (>= 0.2.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
-
.NETStandard 2.0
- Honeybadger (>= 0.2.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
-
net5.0
- Honeybadger (>= 0.2.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
-
net6.0
- Honeybadger (>= 0.2.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.