diff --git a/core/middlewares/errors.go b/core/middlewares/errors.go index 4304d881..943e291a 100644 --- a/core/middlewares/errors.go +++ b/core/middlewares/errors.go @@ -7,6 +7,7 @@ import ( "strings" "github.com/go-faster/jx" + "github.com/medama-io/medama/model" "github.com/medama-io/medama/util/logger" "github.com/ogen-go/ogen/ogenerrors" ) @@ -16,8 +17,7 @@ func ErrorHandler(ctx context.Context, w http.ResponseWriter, req *http.Request, code := ogenerrors.ErrorCode(err) errMessage := strings.ReplaceAll(err.Error(), "\"", "'") - log := logger.Get() - log.Error(). + log := logger.Get().With(). Str("path", req.URL.Path). Str("method", req.Method). Int("status_code", code). @@ -25,8 +25,13 @@ func ErrorHandler(ctx context.Context, w http.ResponseWriter, req *http.Request, Str("Connection", req.Header.Get("Connection")). Str("Content-Type", req.Header.Get("Content-Type")). Str("Content-Length", req.Header.Get("Content-Length")). - Str("User-Agent", req.Header.Get("User-Agent")). - Msg("error 500") + Str("User-Agent", req.Header.Get("User-Agent")).Logger() + + if errors.Is(err, model.ErrUnauthorised) || code == http.StatusUnauthorized { + log.Warn().Msg("unauthorised") + } else { + log.Error().Msg(err.Error()) + } if errors.Is(err, ogenerrors.ErrSecurityRequirementIsNotSatisfied) { errMessage = "missing security token or cookie"