From b2245f5a6e0fbdcf2c4107e3fa1cf646929151a5 Mon Sep 17 00:00:00 2001 From: Chris Larsen Date: Thu, 5 Dec 2024 16:46:37 -0700 Subject: [PATCH] fix: don't zero out negative v level for slog * If sink is `*slogSink` add the level to the logger as is fixes #335 --- logr.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/logr.go b/logr.go index b4428e1..a33ae0b 100644 --- a/logr.go +++ b/logr.go @@ -309,11 +309,21 @@ func (l Logger) V(level int) Logger { if l.sink == nil { return l } - if level < 0 { - level = 0 + + switch l.sink.(type) { + case *slogSink: + l.level += level + + return l + default: + if level < 0 { + level = 0 + } + + l.level += level + + return l } - l.level += level - return l } // GetV returns the verbosity level of the logger. If the logger's LogSink is