From 727f96310debb113551bc9346a31bf44ddb995cf Mon Sep 17 00:00:00 2001 From: Miccah Castorina Date: Tue, 15 Nov 2022 14:48:35 -0600 Subject: [PATCH 1/2] Log the stack trace and recover object --- pkg/common/recover.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/common/recover.go b/pkg/common/recover.go index da75e330c9b3..73a87ff2851e 100644 --- a/pkg/common/recover.go +++ b/pkg/common/recover.go @@ -18,6 +18,10 @@ func Recover(ctx context.Context) { if eventID := sentry.CurrentHub().Recover(err); eventID != nil { ctx.Logger().Info("panic captured", "event_id", *eventID) } + ctx.Logger().Error(fmt.Errorf("panic"), "recovered from panic", + "stack-trace", panicStack, + "recover", err, + ) fmt.Fprint(os.Stderr, panicStack) if !sentry.Flush(time.Second * 5) { ctx.Logger().Info("sentry flush failed") @@ -32,6 +36,10 @@ func RecoverWithExit(ctx context.Context) { if eventID := sentry.CurrentHub().Recover(err); eventID != nil { ctx.Logger().Info("panic captured", "event_id", *eventID) } + ctx.Logger().Error(fmt.Errorf("panic"), "recovered from panic before exiting", + "stack-trace", panicStack, + "recover", err, + ) fmt.Fprint(os.Stderr, panicStack) if !sentry.Flush(time.Second * 5) { ctx.Logger().Info("sentry flush failed") From 01cd73c37cd4ec24000d2736a5f0fb05941056e3 Mon Sep 17 00:00:00 2001 From: Miccah Castorina Date: Tue, 15 Nov 2022 16:17:23 -0600 Subject: [PATCH 2/2] Remove stderr log --- pkg/common/recover.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkg/common/recover.go b/pkg/common/recover.go index 73a87ff2851e..632313351db3 100644 --- a/pkg/common/recover.go +++ b/pkg/common/recover.go @@ -22,7 +22,6 @@ func Recover(ctx context.Context) { "stack-trace", panicStack, "recover", err, ) - fmt.Fprint(os.Stderr, panicStack) if !sentry.Flush(time.Second * 5) { ctx.Logger().Info("sentry flush failed") } @@ -40,7 +39,6 @@ func RecoverWithExit(ctx context.Context) { "stack-trace", panicStack, "recover", err, ) - fmt.Fprint(os.Stderr, panicStack) if !sentry.Flush(time.Second * 5) { ctx.Logger().Info("sentry flush failed") }