From 424c98e256375ee7172e9a82914251f1bee14dfc Mon Sep 17 00:00:00 2001 From: andres-portainer <91705312+andres-portainer@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:54:28 -0300 Subject: [PATCH] fix(http): log HTTP server errors as DEBUG level EE-5225 (#9060) --- api/http/logger.go | 19 +++++++++++++++++++ api/http/server.go | 8 ++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 api/http/logger.go diff --git a/api/http/logger.go b/api/http/logger.go new file mode 100644 index 000000000..2e9f4f807 --- /dev/null +++ b/api/http/logger.go @@ -0,0 +1,19 @@ +package http + +import ( + "log" + + zlog "github.com/rs/zerolog/log" +) + +type httpLogger struct{} + +func NewHTTPLogger() *log.Logger { + return log.New(&httpLogger{}, "", 0) +} + +func (l *httpLogger) Write(data []byte) (int, error) { + zlog.Debug().CallerSkipFrame(3).Msg(string(data)) + + return len(data), nil +} diff --git a/api/http/server.go b/api/http/server.go index 2826e00fe..a2c2b6cfc 100644 --- a/api/http/server.go +++ b/api/http/server.go @@ -327,13 +327,16 @@ func (server *Server) Start() error { WebhookHandler: webhookHandler, } + errorLogger := NewHTTPLogger() + handler := adminMonitor.WithRedirect(offlineGate.WaitingMiddleware(time.Minute, server.Handler)) if server.HTTPEnabled { go func() { log.Info().Str("bind_address", server.BindAddress).Msg("starting HTTP server") httpServer := &http.Server{ - Addr: server.BindAddress, - Handler: handler, + Addr: server.BindAddress, + Handler: handler, + ErrorLog: errorLogger, } go shutdown(server.ShutdownCtx, httpServer) @@ -349,6 +352,7 @@ func (server *Server) Start() error { httpsServer := &http.Server{ Addr: server.BindAddressHTTPS, Handler: handler, + ErrorLog: errorLogger, TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler)), // Disable HTTP/2 }