mirror of
https://github.com/pressly/goose.git
synced 2025-04-27 13:13:52 +00:00
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.
31 lines
892 B
Go
31 lines
892 B
Go
package goose
|
|
|
|
import (
|
|
std "log"
|
|
)
|
|
|
|
var log Logger = &stdLogger{}
|
|
|
|
// Logger is standart logger interface
|
|
type Logger interface {
|
|
Fatal(v ...interface{})
|
|
Fatalf(format string, v ...interface{})
|
|
Print(v ...interface{})
|
|
Println(v ...interface{})
|
|
Printf(format string, v ...interface{})
|
|
}
|
|
|
|
// SetLogger sets the logger for package output
|
|
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...) }
|