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 }