| 89 | } |
| 90 | |
| 91 | func TestTeeCheck(t *testing.T) { |
| 92 | withTee(func(tee Core, debugLogs, warnLogs *observer.ObservedLogs) { |
| 93 | debugEntry := Entry{Level: DebugLevel, Message: "log-at-debug"} |
| 94 | infoEntry := Entry{Level: InfoLevel, Message: "log-at-info"} |
| 95 | warnEntry := Entry{Level: WarnLevel, Message: "log-at-warn"} |
| 96 | errorEntry := Entry{Level: ErrorLevel, Message: "log-at-error"} |
| 97 | for _, ent := range []Entry{debugEntry, infoEntry, warnEntry, errorEntry} { |
| 98 | if ce := tee.Check(ent, nil); ce != nil { |
| 99 | ce.Write() |
| 100 | } |
| 101 | } |
| 102 | |
| 103 | assert.Equal(t, []observer.LoggedEntry{ |
| 104 | {Entry: debugEntry, Context: []Field{}}, |
| 105 | {Entry: infoEntry, Context: []Field{}}, |
| 106 | {Entry: warnEntry, Context: []Field{}}, |
| 107 | {Entry: errorEntry, Context: []Field{}}, |
| 108 | }, debugLogs.All()) |
| 109 | |
| 110 | assert.Equal(t, []observer.LoggedEntry{ |
| 111 | {Entry: warnEntry, Context: []Field{}}, |
| 112 | {Entry: errorEntry, Context: []Field{}}, |
| 113 | }, warnLogs.All()) |
| 114 | }) |
| 115 | } |
| 116 | |
| 117 | func TestTeeWrite(t *testing.T) { |
| 118 | // Calling the tee's Write method directly should always log, regardless of |