From 26cabc02f649121cff594eb456e0b5bf4f7a452f Mon Sep 17 00:00:00 2001 From: mStar Date: Mon, 12 May 2025 15:27:08 +0200 Subject: [PATCH] Modify trace logging for more info --- web/public/middleware/traceRequestInfo.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/web/public/middleware/traceRequestInfo.go b/web/public/middleware/traceRequestInfo.go index a6c7731..99e5b72 100644 --- a/web/public/middleware/traceRequestInfo.go +++ b/web/public/middleware/traceRequestInfo.go @@ -14,15 +14,27 @@ func TraceRequestInfoMiddleware(h http.Handler) http.Handler { return webutils.ChainMiddlewares( h, hlog.AccessHandler(func(r *http.Request, status, size int, duration time.Duration) { + if !hlog.FromRequest(r).Trace().Enabled() { + return + } body, _ := io.ReadAll(r.Body) r.Body = io.NopCloser(bytes.NewReader(body)) + IPAddress := r.Header.Get("X-Real-Ip") + if IPAddress == "" { + IPAddress = r.Header.Get("X-Forwarded-For") + } + if IPAddress == "" { + IPAddress = r.RemoteAddr + } hlog.FromRequest(r).Trace().Any("headers", r.Header). Bytes("body", body). Str("method", r.Method). Stringer("url", r.URL). Int("status", status). Int("size", size). - Dur("duration", duration) + Str("real-ip", IPAddress). + Dur("duration", duration). + Send() }), ) }