Skip to content

Error reporting for .NET using sentry.io

License

Notifications You must be signed in to change notification settings

mausworks/pidget

Repository files navigation

PIDGET

Build status Codecov

Pidget is an exception and error-reporting library for Sentry.io!

If you are looking for extensive and configurable exception handling in ASP.NET Core, then have a look at the ASP.NET Middleware. For most other applications you can use the client.

If you have any questions, ideas or requests, please open a new issue!

How is this different from SharpRaven?

  • Pidget is async-first (for blocking calls use, e.g. client.CaptureAsync([...]).Result)
  • Pidget is primarily targeted towards .NET Core
  • Pidget aims to be modular and extensible, whereas SharpRaven is a bit more monolithic
  • The Pidget client is a unopinionated minimalistic client, i.e. "it just sends stuff"
  • The Pidget client uses a HttpClient as primary transfer mechanism, whereas SharpRaven uses a WebRequest
  • The Pidget ASP.NET Middleware is specifically tailored for ASP.NET Core

Can I use it?

Pidget targets .NET Standard 2.0, which adds support for most (somewhat modern) .NET applications, e.g. .NET Core, Xamarin, Mono, UWP.


Pidget ASP.NET Middleware

Captures ASP.NET Core application errors and automatically attaches user & request data.

  • Support for Linux, Windows and OS X
  • Automated error capturing (e.g. uncaught exception handlers)
  • Logging framework integration (Can be configured with before/after-send hooks)
  • Non-blocking event submission
  • Basic configurable data sanitization (e.g. filtering out values that look like passwords)
  • Context data helpers (e.g. setting the current user, recording breadcrumbs)
  • Honor Sentry’s HTTP 429 Retry-After header
  • Pre and Post event send hooks

Documentation & source

NuGet


Pidget Client

An easy-to use Sentry client. Basic by design.

  • DSN configuration
  • Graceful failures (e.g. Sentry server is unreachable)
  • Setting attributes (e.g. tags and extra data)
  • Support for Linux, Windows and OS X
  • Non-blocking event submission
  • Context data helpers (e.g. setting the current user, recording breadcrumbs)
  • Event sampling
  • Not possible/viable: Local variable values in stacktrace

Documentation & source

NuGet