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  }