From 94b308324da61d4fef72dcc113fb0653c68f7d17 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Thu, 4 Jul 2024 12:16:52 -0300 Subject: [PATCH] stop logging errors for api error responses From a cursory glance, when a real error occurs, we already log something at the application layer, so there's no reason to echo every api error response as an error log too. Errors should be actionable, but these logs were not, e.g.: > access denied to templates or: > category ID specified in input does not exist for user --- server/api/api.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/api/api.go b/server/api/api.go index 91bfb413..c588c11c 100644 --- a/server/api/api.go +++ b/server/api/api.go @@ -178,7 +178,6 @@ func (a *API) userIsGuest(userID string) (bool, error) { // Response helpers func (a *API) errorResponse(w http.ResponseWriter, r *http.Request, err error) { - a.logger.Error(err.Error()) errorResponse := model.ErrorResponse{Error: err.Error()} switch { @@ -195,15 +194,16 @@ func (a *API) errorResponse(w http.ResponseWriter, r *http.Request, err error) { case model.IsErrNotImplemented(err): errorResponse.ErrorCode = http.StatusNotImplemented default: - a.logger.Error("API ERROR", - mlog.Int("code", http.StatusInternalServerError), - mlog.Err(err), - mlog.String("api", r.URL.Path), - ) errorResponse.Error = "internal server error" errorResponse.ErrorCode = http.StatusInternalServerError } + a.logger.Warn("api error response", + mlog.Int("code", http.StatusInternalServerError), + mlog.Err(err), + mlog.String("api", r.URL.Path), + ) + setResponseHeader(w, "Content-Type", "application/json") data, err := json.Marshal(errorResponse) if err != nil {