github.com/YousefHaggyHeroku/pack@v1.5.5/logging/default_logger.go (about) 1 package logging 2 3 import ( 4 "fmt" 5 "io" 6 "log" 7 ) 8 9 // New creates a default logger for the pack library. Note that the pack CLI has it's own logger. 10 func New(w io.Writer) Logger { 11 return &defaultLogger{ 12 out: log.New(w, "", log.LstdFlags|log.Lmicroseconds), 13 } 14 } 15 16 type defaultLogger struct { 17 out *log.Logger 18 } 19 20 const ( 21 debugPrefix = "DEBUG:" 22 infoPrefix = "INFO:" 23 warnPrefix = "WARN:" 24 errorPrefix = "ERROR:" 25 prefixFmt = "%-7s %s" 26 ) 27 28 func (l *defaultLogger) Debug(msg string) { 29 l.out.Printf(prefixFmt, debugPrefix, msg) 30 } 31 32 func (l *defaultLogger) Debugf(format string, v ...interface{}) { 33 l.out.Printf(prefixFmt, debugPrefix, fmt.Sprintf(format, v...)) 34 } 35 36 func (l *defaultLogger) Info(msg string) { 37 l.out.Printf(prefixFmt, infoPrefix, msg) 38 } 39 40 func (l *defaultLogger) Infof(format string, v ...interface{}) { 41 l.out.Printf(prefixFmt, infoPrefix, fmt.Sprintf(format, v...)) 42 } 43 44 func (l *defaultLogger) Warn(msg string) { 45 l.out.Printf(prefixFmt, warnPrefix, msg) 46 } 47 48 func (l *defaultLogger) Warnf(format string, v ...interface{}) { 49 l.out.Printf(prefixFmt, warnPrefix, fmt.Sprintf(format, v...)) 50 } 51 52 func (l *defaultLogger) Error(msg string) { 53 l.out.Printf(prefixFmt, errorPrefix, msg) 54 } 55 56 func (l *defaultLogger) Errorf(format string, v ...interface{}) { 57 l.out.Printf(prefixFmt, errorPrefix, fmt.Sprintf(format, v...)) 58 } 59 60 func (l *defaultLogger) Writer() io.Writer { 61 return l.out.Writer() 62 } 63 64 func (l *defaultLogger) IsVerbose() bool { 65 return false 66 }