Skip to content

Commit ff87e13

Browse files
authored
Merge pull request #202 from snabble/slog-max-level
Fix MaxLevel option for slog logger
2 parents f6e84b0 + 49274ea commit ff87e13

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

slog/handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func (h *LogrusHandler) Enabled(_ context.Context, level slog.Level) bool {
9191

9292
func (h *LogrusHandler) Handle(ctx context.Context, record slog.Record) error {
9393
level := logLevelsFromSlog[record.Level]
94-
if h.option.MaxLevel != nil && level > *h.option.MaxLevel {
94+
if h.option.MaxLevel != nil && level < *h.option.MaxLevel {
9595
level = *h.option.MaxLevel
9696
}
9797

slog/handler_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,19 @@ func Test_Slog_WithError(t *testing.T) {
6767

6868
a.Regexp(`^time.* level\=error msg\=oops error\="found an error: an error occurred"`, b.String())
6969
}
70+
71+
func Test_Slog_WithMaxLevel(t *testing.T) {
72+
logging.Set("info", true)
73+
defer logging.Set("info", false)
74+
logging.Log.Formatter.(*logrus.TextFormatter).DisableColors = true
75+
b := bytes.NewBuffer(nil)
76+
logging.Log.Out = b
77+
78+
slog := New(WithMaxLevel(logrus.WarnLevel))
79+
80+
// when: I log something
81+
slog.Error("should be a warning ...")
82+
83+
// then: only the error text is contained, and it is text formatted
84+
assert.Regexp(t, `^time.* level\=warning msg\="should be a warning ..."`, b.String())
85+
}

0 commit comments

Comments
 (0)