pkg/mock/logger.go (40 lines of code) (raw):

package mock import ( "github.com/go-logr/logr" ) func NewLogr() logr.Logger { return logr.New(&Logger{}) } type Logger struct { errors []error infoMessages map[string][]interface{} } // Init implements logr.LogSink. func (l *Logger) Init(logr.RuntimeInfo) { } // Info implements logr.InfoLogger. func (l *Logger) Info(level int, msg string, keysAndValues ...interface{}) { if l.infoMessages == nil { l.infoMessages = make(map[string][]interface{}) } l.infoMessages[msg] = keysAndValues } func (l *Logger) InfoMessages() map[string][]interface{} { return l.infoMessages } // Enabled implements logr.InfoLogger. func (Logger) Enabled(level int) bool { return true } func (l *Logger) Error(err error, msg string, keysAndValues ...interface{}) { l.errors = append(l.errors, err) } func (l Logger) LastError() error { if len(l.errors) == 0 { return nil } return l.errors[len(l.errors)-1] } // WithName implements logr.Logger. func (l *Logger) WithName(_ string) logr.LogSink { return l } // WithValues implements logr.Logger. func (l *Logger) WithValues(_ ...interface{}) logr.LogSink { return l }