mirror of https://github.com/pressly/goose.git
Improve custom logger: Use stdlib's existing logger variable by default
Follow-up on #105. Don't allocate new stdlib's logger and reuse the default logger (unexported) variable. This will enable people make custom changes to the std logger, ie. log.SetFlags(), log.SetPrefix() or log.SetOutput() without having to duplicate the same code and applying it to goose logger.pull/147/head
parent
3c2a65ec01
commit
40e1a66465
12
log.go
12
log.go
|
@ -2,10 +2,9 @@ package goose
|
|||
|
||||
import (
|
||||
std "log"
|
||||
"os"
|
||||
)
|
||||
|
||||
var log Logger = std.New(os.Stderr, "", std.LstdFlags)
|
||||
var log Logger = &stdLogger{}
|
||||
|
||||
// Logger is standart logger interface
|
||||
type Logger interface {
|
||||
|
@ -20,3 +19,12 @@ type Logger interface {
|
|||
func SetLogger(l Logger) {
|
||||
log = l
|
||||
}
|
||||
|
||||
// stdLogger is a default logger that outputs to a stdlib's log.std logger.
|
||||
type stdLogger struct{}
|
||||
|
||||
func (*stdLogger) Fatal(v ...interface{}) { std.Fatal(v...) }
|
||||
func (*stdLogger) Fatalf(format string, v ...interface{}) { std.Fatalf(format, v...) }
|
||||
func (*stdLogger) Print(v ...interface{}) { std.Print(v...) }
|
||||
func (*stdLogger) Println(v ...interface{}) { std.Println(v...) }
|
||||
func (*stdLogger) Printf(format string, v ...interface{}) { std.Printf(format, v...) }
|
||||
|
|
Loading…
Reference in New Issue