From af9e6e29b6cf18a3f254534ef680ef481cc43e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20D=C3=ADaz?= Date: Tue, 6 Aug 2024 14:53:17 +0200 Subject: [PATCH] [CCXDEV-14053] Don't use ERROR level for all kind of HTTP error responses (#568) * don't use ERROR level for all kind of HTTP error responses * don't duplicate logs --- types/errors.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/types/errors.go b/types/errors.go index c5d4aeb4..791f15e3 100644 --- a/types/errors.go +++ b/types/errors.go @@ -30,6 +30,7 @@ import ( // responseDataError is used as the error message when the responses functions return an error const responseDataError = "Unexpected error during response data encoding" +const handleServerErrorStr = "handleServerError()" // RouterMissingParamError missing parameter in request type RouterMissingParamError struct { @@ -107,7 +108,7 @@ func (e *ValidationError) Error() string { // HandleServerError handles separate server errors and sends appropriate responses func HandleServerError(writer http.ResponseWriter, err error) { - log.Error().Err(err).Msg("handleServerError()") + var level = log.Warn() // set the default log level for most HTTP responses var respErr error @@ -123,9 +124,12 @@ func HandleServerError(writer http.ResponseWriter, err error) { case *ForbiddenError: respErr = responses.SendForbidden(writer, err.Error()) default: + level = log.Error() respErr = responses.SendInternalServerError(writer, "Internal Server Error") } + level.Err(err).Msg(handleServerErrorStr) + if respErr != nil { log.Error().Err(respErr).Msg(responseDataError) }