diff --git a/internal/slogutil/sloginit.go b/internal/slogutil/sloginit.go index b607e75c0..bfd2a5711 100644 --- a/internal/slogutil/sloginit.go +++ b/internal/slogutil/sloginit.go @@ -7,6 +7,7 @@ package slogutil import ( + "io" "log/slog" "os" "strings" @@ -21,10 +22,20 @@ var ( } slogDef = slog.New(&formattingHandler{ recs: []*lineRecorder{GlobalRecorder, ErrorRecorder}, - out: os.Stdout, + out: logWriter(), }) ) +func logWriter() io.Writer { + if os.Getenv("LOGGER_DISCARD") != "" { + // Hack to completely disable logging, for example when running + // benchmarks. + return io.Discard + } + + return os.Stdout +} + func init() { slog.SetDefault(slogDef)