github.com/nsqio/nsq@v1.3.0/internal/lg/lg_test.go (about) 1 package lg 2 3 import ( 4 "testing" 5 6 "github.com/nsqio/nsq/internal/test" 7 ) 8 9 type mockLogger struct { 10 Count int 11 } 12 13 func (l *mockLogger) Output(maxdepth int, s string) error { 14 l.Count++ 15 return nil 16 } 17 18 func TestLogging(t *testing.T) { 19 logger := &mockLogger{} 20 21 // Test only fatal get through 22 logger.Count = 0 23 for i := 1; i <= 5; i++ { 24 Logf(logger, FATAL, LogLevel(i), "Test") 25 } 26 test.Equal(t, 1, logger.Count) 27 28 // Test only warnings or higher get through 29 logger.Count = 0 30 for i := 1; i <= 5; i++ { 31 Logf(logger, WARN, LogLevel(i), "Test") 32 } 33 test.Equal(t, 3, logger.Count) 34 35 // Test everything gets through 36 logger.Count = 0 37 for i := 1; i <= 5; i++ { 38 Logf(logger, DEBUG, LogLevel(i), "Test") 39 } 40 test.Equal(t, 5, logger.Count) 41 }