31 lines
652 B
Go
31 lines
652 B
Go
|
|
package consumer
|
||
|
|
|
||
|
|
import (
|
||
|
|
"io/ioutil"
|
||
|
|
"log"
|
||
|
|
)
|
||
|
|
|
||
|
|
// A Logger is a minimal interface to as a adaptor for external logging library to consumer
|
||
|
|
type Logger interface {
|
||
|
|
Log(...interface{})
|
||
|
|
}
|
||
|
|
|
||
|
|
type LoggerFunc func(...interface{})
|
||
|
|
|
||
|
|
// NewDefaultLogger returns a Logger which discards messages.
|
||
|
|
func NewDefaultLogger() Logger {
|
||
|
|
return &defaultLogger{
|
||
|
|
logger: log.New(ioutil.Discard, "", log.LstdFlags),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// A defaultLogger provides a logging instance when none is provided.
|
||
|
|
type defaultLogger struct {
|
||
|
|
logger *log.Logger
|
||
|
|
}
|
||
|
|
|
||
|
|
// Log using stdlib logger. See log.Println.
|
||
|
|
func (l defaultLogger) Log(args ...interface{}) {
|
||
|
|
l.logger.Println(args...)
|
||
|
|
}
|