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  }