From 529ec7e0b948eb98176c5a4e83375319f9dffd58 Mon Sep 17 00:00:00 2001 From: Denis Kirillov Date: Wed, 21 Feb 2024 17:32:17 +0300 Subject: [PATCH] [#318] Don't log empty bucket/name Signed-off-by: Denis Kirillov --- api/middleware/reqinfo.go | 10 +++++++--- api/middleware/response.go | 18 +++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/api/middleware/reqinfo.go b/api/middleware/reqinfo.go index c4b518b..3a0d093 100644 --- a/api/middleware/reqinfo.go +++ b/api/middleware/reqinfo.go @@ -239,8 +239,10 @@ func AddBucketName(l *zap.Logger) Func { reqInfo := GetReqInfo(ctx) reqInfo.BucketName = chi.URLParam(r, BucketURLPrm) - reqLogger := reqLogOrDefault(ctx, l) - r = r.WithContext(SetReqLogger(ctx, reqLogger.With(zap.String("bucket", reqInfo.BucketName)))) + if reqInfo.BucketName != "" { + reqLogger := reqLogOrDefault(ctx, l) + r = r.WithContext(SetReqLogger(ctx, reqLogger.With(zap.String("bucket", reqInfo.BucketName)))) + } h.ServeHTTP(w, r) }) @@ -270,7 +272,9 @@ func AddObjectName(l *zap.Logger) Func { } } - r = r.WithContext(SetReqLogger(ctx, reqLogger.With(zap.String("object", reqInfo.ObjectName)))) + if reqInfo.ObjectName != "" { + r = r.WithContext(SetReqLogger(ctx, reqLogger.With(zap.String("object", reqInfo.ObjectName)))) + } h.ServeHTTP(w, r) }) diff --git a/api/middleware/response.go b/api/middleware/response.go index 7768ebd..f458de0 100644 --- a/api/middleware/response.go +++ b/api/middleware/response.go @@ -312,12 +312,20 @@ func LogSuccessResponse(l *zap.Logger) Func { reqLogger := reqLogOrDefault(ctx, l) reqInfo := GetReqInfo(ctx) - fields := []zap.Field{ - zap.String("method", reqInfo.API), - zap.String("bucket", reqInfo.BucketName), - zap.String("object", reqInfo.ObjectName), + fields := make([]zap.Field, 0, 6) + fields = append(fields, zap.Int("status", lw.statusCode), - zap.String("description", http.StatusText(lw.statusCode))} + zap.String("description", http.StatusText(lw.statusCode)), + zap.String("method", reqInfo.API), + ) + + if reqInfo.BucketName != "" { + fields = append(fields, zap.String("bucket", reqInfo.BucketName)) + } + if reqInfo.ObjectName != "" { + fields = append(fields, zap.String("object", reqInfo.ObjectName)) + } + if traceID, err := trace.TraceIDFromHex(reqInfo.TraceID); err == nil && traceID.IsValid() { fields = append(fields, zap.String("trace_id", reqInfo.TraceID)) }