From 7b37c7a0347aff2f1cf884b0644702d96e8654b9 Mon Sep 17 00:00:00 2001 From: TJ Hoplock Date: Wed, 30 Apr 2025 22:35:01 -0400 Subject: [PATCH 1/2] refactor(promslog): make `NewNopLogger()` wrapper around `New()` While discussing the fix for prometheus/prometheus#16466, it was pointed out that our `promslog.NewNopLogger()` convenience function would benefit from using the same logic used when initializing loggers with `promslog.New()`. By refactoring NewNopLogger to wrap New, it inherits that same setup logic. Signed-off-by: TJ Hoplock --- promslog/slog.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/promslog/slog.go b/promslog/slog.go index acce21a3e..1f4d9a917 100644 --- a/promslog/slog.go +++ b/promslog/slog.go @@ -266,5 +266,10 @@ func New(config *Config) *slog.Logger { // NewNopLogger is a convenience function to return an slog.Logger that writes // to io.Discard. func NewNopLogger() *slog.Logger { - return slog.New(slog.NewTextHandler(io.Discard, nil)) + // Set log level to debug, in case there are code paths that are only + // triggered when debug logging is enabled. + level := NewLevel() + _ = level.Set("debug") + + return New(&Config{Level: level, Writer: io.Discard}) } From 50e178d5e4e0ed6167c0bf5687e79189cf57f92e Mon Sep 17 00:00:00 2001 From: TJ Hoplock Date: Fri, 9 May 2025 01:37:28 -0400 Subject: [PATCH 2/2] fix(promslog): don't set NewNopLogger to debug level Signed-off-by: TJ Hoplock --- promslog/slog.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/promslog/slog.go b/promslog/slog.go index 1f4d9a917..3bd817328 100644 --- a/promslog/slog.go +++ b/promslog/slog.go @@ -266,10 +266,5 @@ func New(config *Config) *slog.Logger { // NewNopLogger is a convenience function to return an slog.Logger that writes // to io.Discard. func NewNopLogger() *slog.Logger { - // Set log level to debug, in case there are code paths that are only - // triggered when debug logging is enabled. - level := NewLevel() - _ = level.Set("debug") - - return New(&Config{Level: level, Writer: io.Discard}) + return New(&Config{Writer: io.Discard}) }