From 669ed0786d35b68b00b95c5511741689c9cce34a Mon Sep 17 00:00:00 2001 From: Hayden Briese Date: Sun, 1 Oct 2023 23:17:10 +1100 Subject: [PATCH] Fix sentry not capturing context of errors --- app/src/util/analytics/log.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/util/analytics/log.ts b/app/src/util/analytics/log.ts index 5e12ee3c8..52f6a196f 100644 --- a/app/src/util/analytics/log.ts +++ b/app/src/util/analytics/log.ts @@ -18,16 +18,19 @@ export const logEvent = ({ level, message, error: ep, ...contextParam }: LogEven const error = ep !== undefined ? (ep instanceof Error ? ep : new Error(`${ep}`)) : undefined; const context = _.mapValues(contextParam, (v) => JSON.stringify(v ?? null, null, 2)); - crashlytics().log(`${level}: ${message}`); - if (context) crashlytics().setAttributes(context); - - Sentry.captureMessage(message, { level, extra: context }); - + // Sentry if (error) { - Sentry.captureException(error); - crashlytics().recordError(error); + Sentry.captureException(error, { level, extra: { ...context, message } }); + } else { + Sentry.captureMessage(message, { level, extra: context }); } + // Crashlytics + crashlytics().setAttributes(context); + crashlytics().log(`${level}: ${message}`); + if (error) crashlytics().recordError(error); + + // Console CONSOLE[level]( `Event: ${message}`, JSON.stringify(