From a7a059895943f85971cb5a4184ffb5d76d5fdbef Mon Sep 17 00:00:00 2001 From: Mikhail P Date: Tue, 10 May 2022 11:32:55 -0700 Subject: [PATCH 1/2] log errors regardless of `ignoreSentryErrors` If we don't even log anything when `ignoreSentryErrors` is enabled, it is impossible to tell when there's something wrong with the integration. For example, when transaction payloads get too big and we start getting 413s from Sentry's service, the options are a. cause 500s in the service that's being monitored (worst possible outcome) or b. have zero way to tell it's happening. This introduces c. make it possible to add a warning alarm on occurences of sentry errors in the logs. --- packages/serverless/src/awslambda.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/serverless/src/awslambda.ts b/packages/serverless/src/awslambda.ts index 3702ffc6a1fd..497849e08dfb 100644 --- a/packages/serverless/src/awslambda.ts +++ b/packages/serverless/src/awslambda.ts @@ -318,8 +318,10 @@ export function wrapHandler( transaction.finish(); hub.popScope(); await flush(options.flushTimeout).catch(e => { + // logging regardless of ignoreSentryErrors makes it possible to detect issues with sentry + // using logs; otherwise, things like oversized payloads fail completely silently. + logger.error(e) if (options.ignoreSentryErrors && e instanceof SentryError) { - IS_DEBUG_BUILD && logger.error(e); return; } throw e; From 09ce867b0ef62e4adc2192a8999c21b3f6ed275b Mon Sep 17 00:00:00 2001 From: mihasya Date: Tue, 10 May 2022 14:58:29 -0700 Subject: [PATCH 2/2] appease yarn lint --- packages/serverless/src/awslambda.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/serverless/src/awslambda.ts b/packages/serverless/src/awslambda.ts index 497849e08dfb..03129a934212 100644 --- a/packages/serverless/src/awslambda.ts +++ b/packages/serverless/src/awslambda.ts @@ -320,7 +320,7 @@ export function wrapHandler( await flush(options.flushTimeout).catch(e => { // logging regardless of ignoreSentryErrors makes it possible to detect issues with sentry // using logs; otherwise, things like oversized payloads fail completely silently. - logger.error(e) + logger.error(e); if (options.ignoreSentryErrors && e instanceof SentryError) { return; }