From 5b9e98a542d426a199b3bad5eef4e29e7771c12b Mon Sep 17 00:00:00 2001 From: Colleen Murphy Date: Wed, 8 Jul 2026 10:15:38 -0700 Subject: [PATCH] Log error at error level for 500 errors An HTTP 500 should be logged as an error since an operator likely needs to take action to fix the problem. --- internal/ct/handlers.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/ct/handlers.go b/internal/ct/handlers.go index 469775ac..708867a0 100644 --- a/internal/ct/handlers.go +++ b/internal/ct/handlers.go @@ -246,7 +246,11 @@ func (a appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { statusCode = ClientClosedRequestStatus err = fmt.Errorf("client closed the connection: %v", err) } - slog.WarnContext(ctx, "handler error", slog.String("origin", a.log.origin), slog.String("name", a.name), slog.Any("error", err)) + if statusCode == http.StatusInternalServerError { + slog.ErrorContext(ctx, "handler error", slog.String("origin", a.log.origin), slog.String("name", a.name), slog.Any("error", err)) + } else { + slog.WarnContext(ctx, "handler error", slog.String("origin", a.log.origin), slog.String("name", a.name), slog.Any("error", err)) + } a.opts.sendHTTPError(w, statusCode, err) span.RecordError(err) span.SetStatus(codes.Error, err.Error())