github.com/forking-projects/tail@v1.2.0/logger.go (about) 1 package tail 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 ) 8 9 type Logger interface { 10 Fatal(v ...interface{}) 11 Fatalf(format string, v ...interface{}) 12 Fatalln(v ...interface{}) 13 Panic(v ...interface{}) 14 Panicf(format string, v ...interface{}) 15 Panicln(v ...interface{}) 16 Print(v ...interface{}) 17 Printf(format string, v ...interface{}) 18 Println(v ...interface{}) 19 Debugf(format string, v ...interface{}) 20 Debug(v ...interface{}) 21 } 22 23 type logger struct { 24 *log.Logger 25 } 26 27 // NewDefaultLogger creates new logger when Config.Logger == nil. 28 func NewDefaultLogger() Logger { 29 return &logger{Logger: log.New(os.Stderr, "", log.LstdFlags)} 30 } 31 32 // NewDiscardingLogger creates new disabled logger. 33 func NewDiscardingLogger() Logger { 34 return &logger{Logger: log.New(ioutil.Discard, "", 0)} 35 } 36 37 func (l *logger) Debugf(format string, v ...interface{}) { 38 l.Printf(format, v) 39 } 40 41 func (l *logger) Debug(v ...interface{}) { 42 l.Print(v) 43 }