diff --git a/internal/testlog/testlog.go b/internal/testlog/testlog.go index 94c9377e14..e5e96ac85f 100644 --- a/internal/testlog/testlog.go +++ b/internal/testlog/testlog.go @@ -98,7 +98,11 @@ func LoggerWithHandler(t *testing.T, handler slog.Handler) log.Logger { } } -func (l *logger) Write(level slog.Level, msg string, ctx ...any) {} +func (l *logger) Handler() slog.Handler { + return l.l.Handler() +} + +func (l *logger) Write(level slog.Level, msg string, ctx ...interface{}) {} func (l *logger) Enabled(ctx context.Context, level slog.Level) bool { return l.l.Enabled(ctx, level) diff --git a/log/logger.go b/log/logger.go index 1a91f11da8..0befc27e58 100644 --- a/log/logger.go +++ b/log/logger.go @@ -136,6 +136,9 @@ type Logger interface { // Enabled reports whether l emits log records at the given context and level. Enabled(ctx context.Context, level slog.Level) bool + + // Handler returns the underlying handler of the inner logger. + Handler() slog.Handler } type logger struct { @@ -149,6 +152,10 @@ func NewLogger(h slog.Handler) Logger { } } +func (l *logger) Handler() slog.Handler { + return l.inner.Handler() +} + // write logs a message at the specified level: func (l *logger) Write(level slog.Level, msg string, attrs ...any) { if !l.inner.Enabled(context.Background(), level) {