From 7177f2400995901b666b1ed94d87c15c8c410fab Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=96=9C=E6=AC=A2?= Date: Fri, 28 Mar 2025 06:39:41 +0000 Subject: [PATCH] log/slog: log and logAttrs initialize ctx at top In extreme cases (e.g., ctx = nil), it is recommended to initialize the context only once at the entry point before using log and logAttrs. Change-Id: Ib191963f52183406d7fcd5104b60fea1a9e1bc80 GitHub-Last-Rev: e1719b95390011a45a0a6652a13e675279bc76cd GitHub-Pull-Request: golang/go#73066 Reviewed-on: https://go-review.googlesource.com/c/go/+/661255 Reviewed-by: Carlos Amedee Reviewed-by: Jonathan Amsterdam LUCI-TryBot-Result: Go LUCI --- src/log/slog/logger.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/log/slog/logger.go b/src/log/slog/logger.go index 961e0cd2ce..69e1cf9f15 100644 --- a/src/log/slog/logger.go +++ b/src/log/slog/logger.go @@ -238,6 +238,9 @@ func (l *Logger) ErrorContext(ctx context.Context, msg string, args ...any) { // It must always be called directly by an exported logging method // or function, because it uses a fixed call depth to obtain the pc. func (l *Logger) log(ctx context.Context, level Level, msg string, args ...any) { + if ctx == nil { + ctx = context.Background() + } if !l.Enabled(ctx, level) { return } @@ -250,14 +253,14 @@ func (l *Logger) log(ctx context.Context, level Level, msg string, args ...any) } r := NewRecord(time.Now(), level, msg, pc) r.Add(args...) - if ctx == nil { - ctx = context.Background() - } _ = l.Handler().Handle(ctx, r) } // logAttrs is like [Logger.log], but for methods that take ...Attr. func (l *Logger) logAttrs(ctx context.Context, level Level, msg string, attrs ...Attr) { + if ctx == nil { + ctx = context.Background() + } if !l.Enabled(ctx, level) { return } @@ -270,9 +273,6 @@ func (l *Logger) logAttrs(ctx context.Context, level Level, msg string, attrs .. } r := NewRecord(time.Now(), level, msg, pc) r.AddAttrs(attrs...) - if ctx == nil { - ctx = context.Background() - } _ = l.Handler().Handle(ctx, r) } -- 2.51.0