github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/mock/logger.go (about) 1 package mock 2 3 import ( 4 "fmt" 5 6 "github.com/ngocphuongnb/tetua/app/logger" 7 ) 8 9 type MockLoggerMessage struct { 10 Type string 11 Params []interface{} 12 } 13 14 type MockLogger struct { 15 Silence bool 16 Messages []*MockLoggerMessage 17 } 18 19 func (l *MockLogger) WithContext(context logger.Context) logger.Logger { 20 return l 21 } 22 23 func (l *MockLogger) Last() MockLoggerMessage { 24 if len(l.Messages) == 0 { 25 return MockLoggerMessage{} 26 } 27 return *l.Messages[len(l.Messages)-1] 28 } 29 30 func (l *MockLogger) Info(params ...interface{}) { 31 if !l.Silence { 32 fmt.Println(params...) 33 } 34 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "Info", Params: params}) 35 } 36 37 func (l *MockLogger) Debug(params ...interface{}) { 38 if !l.Silence { 39 fmt.Println(params...) 40 } 41 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "Debug", Params: params}) 42 } 43 func (l *MockLogger) Warn(params ...interface{}) { 44 if !l.Silence { 45 fmt.Println(params...) 46 } 47 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "Warn", Params: params}) 48 } 49 func (l *MockLogger) Error(params ...interface{}) { 50 if !l.Silence { 51 fmt.Println(params...) 52 } 53 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "Error", Params: params}) 54 } 55 func (l *MockLogger) DPanic(params ...interface{}) { 56 if !l.Silence { 57 fmt.Println(params...) 58 } 59 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "DPanic", Params: params}) 60 } 61 func (l *MockLogger) Panic(params ...interface{}) { 62 if !l.Silence { 63 fmt.Println(params...) 64 } 65 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "Panic", Params: params}) 66 } 67 func (l *MockLogger) Fatal(params ...interface{}) { 68 if !l.Silence { 69 fmt.Println(params...) 70 } 71 l.Messages = append(l.Messages, &MockLoggerMessage{Type: "Fatal", Params: params}) 72 }