diff --git a/src/NzbDrone.Common/Instrumentation/Sentry/SentryCleanser.cs b/src/NzbDrone.Common/Instrumentation/Sentry/SentryCleanser.cs
index 62bff132b..a56e57376 100644
--- a/src/NzbDrone.Common/Instrumentation/Sentry/SentryCleanser.cs
+++ b/src/NzbDrone.Common/Instrumentation/Sentry/SentryCleanser.cs
@@ -11,26 +11,41 @@ public static SentryEvent CleanseEvent(SentryEvent sentryEvent)
{
try
{
- sentryEvent.Message.Message = CleanseLogMessage.Cleanse(sentryEvent.Message.Message);
+ if (sentryEvent.Message is not null)
+ {
+ sentryEvent.Message.Formatted = CleanseLogMessage.Cleanse(sentryEvent.Message.Formatted);
+ sentryEvent.Message.Message = CleanseLogMessage.Cleanse(sentryEvent.Message.Message);
+ sentryEvent.Message.Params = sentryEvent.Message.Params?.Select(x => CleanseLogMessage.Cleanse(x switch
+ {
+ string str => str,
+ _ => x.ToString()
+ })).ToList();
+ }
- if (sentryEvent.Fingerprint != null)
+ if (sentryEvent.Fingerprint.Any())
{
var fingerprint = sentryEvent.Fingerprint.Select(x => CleanseLogMessage.Cleanse(x)).ToList();
sentryEvent.SetFingerprint(fingerprint);
}
- if (sentryEvent.Extra != null)
+ if (sentryEvent.Extra.Any())
{
- var extras = sentryEvent.Extra.ToDictionary(x => x.Key, y => (object)CleanseLogMessage.Cleanse((string)y.Value));
+ var extras = sentryEvent.Extra.ToDictionary(x => x.Key, y => (object)CleanseLogMessage.Cleanse(y.Value as string));
sentryEvent.SetExtras(extras);
}
- foreach (var exception in sentryEvent.SentryExceptions)
+ if (sentryEvent.SentryExceptions is not null)
{
- exception.Value = CleanseLogMessage.Cleanse(exception.Value);
- foreach (var frame in exception.Stacktrace.Frames)
+ foreach (var exception in sentryEvent.SentryExceptions)
{
- frame.FileName = ShortenPath(frame.FileName);
+ exception.Value = CleanseLogMessage.Cleanse(exception.Value);
+ if (exception.Stacktrace is not null)
+ {
+ foreach (var frame in exception.Stacktrace.Frames)
+ {
+ frame.FileName = ShortenPath(frame.FileName);
+ }
+ }
}
}
}
diff --git a/src/NzbDrone.Common/Instrumentation/Sentry/SentryTarget.cs b/src/NzbDrone.Common/Instrumentation/Sentry/SentryTarget.cs
index 45cc679c4..4b066f15f 100644
--- a/src/NzbDrone.Common/Instrumentation/Sentry/SentryTarget.cs
+++ b/src/NzbDrone.Common/Instrumentation/Sentry/SentryTarget.cs
@@ -99,9 +99,6 @@ public SentryTarget(string dsn)
o.Dsn = dsn;
o.AttachStacktrace = true;
o.MaxBreadcrumbs = 200;
- o.SendDefaultPii = false;
- o.Debug = false;
- o.DiagnosticLevel = SentryLevel.Debug;
o.Release = BuildInfo.Release;
o.BeforeSend = x => SentryCleanser.CleanseEvent(x);
o.BeforeBreadcrumb = x => SentryCleanser.CleanseBreadcrumb(x);
diff --git a/src/NzbDrone.Common/Radarr.Common.csproj b/src/NzbDrone.Common/Radarr.Common.csproj
index c3f625548..37e3d673e 100644
--- a/src/NzbDrone.Common/Radarr.Common.csproj
+++ b/src/NzbDrone.Common/Radarr.Common.csproj
@@ -10,7 +10,7 @@
-
+