Properly pass exceptions to Sentry
This commit is contained in:
parent
0f64086c75
commit
a052c8331c
@ -97,14 +97,16 @@ namespace PluralKit.Bot
|
|||||||
private async Task HandleError<T>(IEventHandler<T> handler, T evt, ILifetimeScope serviceScope, Exception exc)
|
private async Task HandleError<T>(IEventHandler<T> handler, T evt, ILifetimeScope serviceScope, Exception exc)
|
||||||
where T: DiscordEventArgs
|
where T: DiscordEventArgs
|
||||||
{
|
{
|
||||||
_logger.Error(exc, "Exception in bot event handler");
|
// Make this beforehand so we can access the event ID for logging
|
||||||
|
var sentryEvent = new SentryEvent(exc);
|
||||||
|
|
||||||
|
_logger.Error(exc, "Exception in bot event handler (Sentry ID: {SentryEventId})", sentryEvent.EventId);
|
||||||
|
|
||||||
var shouldReport = exc.IsOurProblem();
|
var shouldReport = exc.IsOurProblem();
|
||||||
if (shouldReport)
|
if (shouldReport)
|
||||||
{
|
{
|
||||||
// Report error to Sentry
|
// Report error to Sentry
|
||||||
// This will just no-op if there's no URL set
|
// This will just no-op if there's no URL set
|
||||||
var sentryEvent = new SentryEvent();
|
|
||||||
var sentryScope = serviceScope.Resolve<Scope>();
|
var sentryScope = serviceScope.Resolve<Scope>();
|
||||||
SentrySdk.CaptureEvent(sentryEvent, sentryScope);
|
SentrySdk.CaptureEvent(sentryEvent, sentryScope);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user