Skip to content

Commit ad13956

Browse files
committed
Added IsInfo() to Logger interface
There are still times when it’s useful to shut off a block of expensive logging code if the logger is disabled.
1 parent 2a240b1 commit ad13956

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

core.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,11 @@ func (l *Core) IsDebug() bool {
208208
return l.IsEnabled(DebugLevel)
209209
}
210210

211+
// IsDebug returns true if INF level is enabled
212+
func (l *Core) IsInfo() bool {
213+
return l.IsEnabled(InfoLevel)
214+
}
215+
211216
// With returns a new Logger with some context baked in. All entries
212217
// logged with the new logger will include this context.
213218
//

core_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,31 @@ func TestSweetenFields(t *testing.T) {
2020
fields = c.sweetenFields([]interface{}{err})
2121
assert.Equal(t, []zap.Field{zap.NamedError("error", err)}, fields)
2222
}
23+
24+
func TestCore_IsDebug(t *testing.T) {
25+
f := NewFactory()
26+
f.SetDefaultLevel(InfoLevel)
27+
28+
l := f.NewLogger("asdf")
29+
assert.False(t, l.IsDebug())
30+
f.SetDefaultLevel(DebugLevel)
31+
assert.True(t, l.IsDebug())
32+
f.SetDefaultLevel(ErrorLevel)
33+
assert.False(t, l.IsDebug())
34+
f.SetLevel("asdf", DebugLevel)
35+
assert.True(t, l.IsDebug())
36+
}
37+
38+
func TestCore_IsInfo(t *testing.T) {
39+
f := NewFactory()
40+
f.SetDefaultLevel(ErrorLevel)
41+
42+
l := f.NewLogger("asdf")
43+
assert.False(t, l.IsInfo())
44+
f.SetDefaultLevel(InfoLevel)
45+
assert.True(t, l.IsInfo())
46+
f.SetDefaultLevel(ErrorLevel)
47+
assert.False(t, l.IsInfo())
48+
f.SetLevel("asdf", DebugLevel)
49+
assert.True(t, l.IsInfo())
50+
}

log.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type (
2020
Error(msg string, args ...interface{})
2121

2222
IsDebug() bool
23+
IsInfo() bool
2324

2425
// With creates a new Logger with some context already attached. All
2526
// entries logged with the child logger will include this context.

0 commit comments

Comments
 (0)