@@ -8,10 +8,37 @@ type TestingT zerolog.TestingLog
8
8
9
9
// NewTestLogger returns a logger that calls t.Log to write entries.
10
10
//
11
+ // The returned logger emits messages at any level.
12
+ // For active debugging of a test with verbose logs,
13
+ // the [NewTestLoggerInfo] and [NewTestLoggerError] functions
14
+ // only emit messages at or above the corresponding log levels.
15
+ //
11
16
// If the logs may help debug a test failure,
12
17
// you may want to use NewTestLogger(t) in your test.
13
18
// Otherwise, use NewNopLogger().
14
19
func NewTestLogger (t TestingT ) Logger {
20
+ return newTestLogger (t , zerolog .DebugLevel )
21
+ }
22
+
23
+ // NewTestLoggerInfo returns a test logger that filters out messages
24
+ // below info level.
25
+ //
26
+ // This is primarily helpful during active debugging of a test
27
+ // with verbose logs.
28
+ func NewTestLoggerInfo (t TestingT ) Logger {
29
+ return newTestLogger (t , zerolog .InfoLevel )
30
+ }
31
+
32
+ // NewTestLoggerError returns a test logger that filters out messages
33
+ // below Error level.
34
+ //
35
+ // This is primarily helpful during active debugging of a test
36
+ // with verbose logs.
37
+ func NewTestLoggerError (t TestingT ) Logger {
38
+ return newTestLogger (t , zerolog .ErrorLevel )
39
+ }
40
+
41
+ func newTestLogger (t TestingT , lvl zerolog.Level ) Logger {
15
42
cw := zerolog .NewConsoleWriter ()
16
43
cw .Out = zerolog.TestWriter {
17
44
T : t ,
@@ -22,5 +49,5 @@ func NewTestLogger(t TestingT) Logger {
22
49
// but Frame=7 prints correct source locations.
23
50
Frame : 7 ,
24
51
}
25
- return NewCustomLogger (zerolog .New (cw ))
52
+ return NewCustomLogger (zerolog .New (cw ). Level ( lvl ) )
26
53
}
0 commit comments