diff --git a/logger.go b/logger.go index c4c17bbb..29aa7632 100644 --- a/logger.go +++ b/logger.go @@ -1,7 +1,9 @@ package xorm import ( + "fmt" "io" + "io/ioutil" "log" ) @@ -14,35 +16,46 @@ type ILogger interface { } type SimpleLogger struct { - logger *log.Logger + DEBUG *log.Logger + ERR *log.Logger + INFO *log.Logger + WARN *log.Logger } func NewSimpleLogger(out io.Writer) *SimpleLogger { return &SimpleLogger{ - logger: log.New(out, "[xorm] ", log.Ldate|log.Lmicroseconds)} + DEBUG: log.New(ioutil.Discard, "[xorm] [debug] ", log.Ldate|log.Lmicroseconds), + ERR: log.New(ioutil.Discard, "[xorm] [error] ", log.Ldate|log.Lmicroseconds), + INFO: log.New(ioutil.Discard, "[xorm] [info] ", log.Ldate|log.Lmicroseconds), + WARN: log.New(ioutil.Discard, "[xorm] [warn] ", log.Ldate|log.Lmicroseconds), + } } func NewSimpleLogger2(out io.Writer, prefix string, flag int) *SimpleLogger { return &SimpleLogger{ - logger: log.New(out, prefix, flag)} + DEBUG: log.New(ioutil.Discard, fmt.Sprintf("%s [debug] ", prefix), log.Ldate|log.Lmicroseconds), + ERR: log.New(ioutil.Discard, fmt.Sprintf("%s [error] ", prefix), log.Ldate|log.Lmicroseconds), + INFO: log.New(ioutil.Discard, fmt.Sprintf("%s [info] ", prefix), log.Ldate|log.Lmicroseconds), + WARN: log.New(ioutil.Discard, fmt.Sprintf("%s [warn] ", prefix), log.Ldate|log.Lmicroseconds), + } } func (s *SimpleLogger) Debug(m string) (err error) { - s.logger.Println("[debug]", m) + s.DEBUG.Println(m) return } func (s *SimpleLogger) Err(m string) (err error) { - s.logger.Println("[error]", m) + s.ERR.Println(m) return } func (s *SimpleLogger) Info(m string) (err error) { - s.logger.Println("[info]", m) + s.INFO.Println(m) return } func (s *SimpleLogger) Warning(m string) (err error) { - s.logger.Println("[warning]", m) + s.WARN.Println(m) return }