add log level support to simple logger
This commit is contained in:
parent
d1e396ee3f
commit
0c227ead0f
|
@ -37,7 +37,7 @@ type Engine struct {
|
||||||
ShowDebug bool
|
ShowDebug bool
|
||||||
ShowWarn bool
|
ShowWarn bool
|
||||||
|
|
||||||
Logger ILogger // io.Writer
|
Logger core.ILogger
|
||||||
TZLocation *time.Location
|
TZLocation *time.Location
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
48
logger.go
48
logger.go
|
@ -6,41 +6,51 @@ import (
|
||||||
"log"
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
// logger interface, log/syslog conform with this interface
|
type LogLevel int
|
||||||
type ILogger interface {
|
|
||||||
Debug(m string) (err error)
|
const (
|
||||||
Err(m string) (err error)
|
LOG_ERR LogLevel = iota + 3
|
||||||
Info(m string) (err error)
|
LOG_WARNING
|
||||||
Warning(m string) (err error)
|
LOG_INFO = iota + 6
|
||||||
}
|
LOG_DEBUG
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
DEFAULT_LOG_PREFIX = "[xorm]"
|
||||||
|
DEFAULT_LOG_FLAG = log.Ldate | log.Lmicroseconds
|
||||||
|
DEFAULT_LOG_LEVEL = LOG_INFO
|
||||||
|
)
|
||||||
|
|
||||||
type SimpleLogger struct {
|
type SimpleLogger struct {
|
||||||
DEBUG *log.Logger
|
DEBUG *log.Logger
|
||||||
ERR *log.Logger
|
ERR *log.Logger
|
||||||
INFO *log.Logger
|
INFO *log.Logger
|
||||||
WARN *log.Logger
|
WARN *log.Logger
|
||||||
|
LogLevel LogLevel
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewSimpleLogger(out io.Writer) *SimpleLogger {
|
func NewSimpleLogger(out io.Writer) *SimpleLogger {
|
||||||
return &SimpleLogger{
|
return NewSimpleLogger2(out, DEFAULT_LOG_PREFIX, DEFAULT_LOG_FLAG)
|
||||||
DEBUG: log.New(out, "[xorm] [debug] ", log.Ldate|log.Lmicroseconds),
|
|
||||||
ERR: log.New(out, "[xorm] [error] ", log.Ldate|log.Lmicroseconds),
|
|
||||||
INFO: log.New(out, "[xorm] [info] ", log.Ldate|log.Lmicroseconds),
|
|
||||||
WARN: log.New(out, "[xorm] [warn] ", log.Ldate|log.Lmicroseconds),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewSimpleLogger2(out io.Writer, prefix string, flag int) *SimpleLogger {
|
func NewSimpleLogger2(out io.Writer, prefix string, flag int) *SimpleLogger {
|
||||||
|
return NewSimpleLogger3(out, prefix, flag, DEFAULT_LOG_LEVEL)
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewSimpleLogger3(out io.Writer, prefix string, flag int, logLevel LogLevel) *SimpleLogger {
|
||||||
return &SimpleLogger{
|
return &SimpleLogger{
|
||||||
DEBUG: log.New(out, fmt.Sprintf("%s [debug] ", prefix), log.Ldate|log.Lmicroseconds),
|
DEBUG: log.New(out, fmt.Sprintf("%s [debug] ", prefix), flag),
|
||||||
ERR: log.New(out, fmt.Sprintf("%s [error] ", prefix), log.Ldate|log.Lmicroseconds),
|
ERR: log.New(out, fmt.Sprintf("%s [error] ", prefix), flag),
|
||||||
INFO: log.New(out, fmt.Sprintf("%s [info] ", prefix), log.Ldate|log.Lmicroseconds),
|
INFO: log.New(out, fmt.Sprintf("%s [info] ", prefix), flag),
|
||||||
WARN: log.New(out, fmt.Sprintf("%s [warn] ", prefix), log.Ldate|log.Lmicroseconds),
|
WARN: log.New(out, fmt.Sprintf("%s [warn] ", prefix), flag),
|
||||||
|
LogLevel: LOG_INFO,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SimpleLogger) Debug(m string) (err error) {
|
func (s *SimpleLogger) Debug(m string) (err error) {
|
||||||
|
if s.LogLevel >= LOG_DEBUG {
|
||||||
s.DEBUG.Println(m)
|
s.DEBUG.Println(m)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,11 +60,15 @@ func (s *SimpleLogger) Err(m string) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SimpleLogger) Info(m string) (err error) {
|
func (s *SimpleLogger) Info(m string) (err error) {
|
||||||
|
if s.LogLevel >= LOG_INFO {
|
||||||
s.INFO.Println(m)
|
s.INFO.Println(m)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SimpleLogger) Warning(m string) (err error) {
|
func (s *SimpleLogger) Warning(m string) (err error) {
|
||||||
|
if s.LogLevel >= LOG_WARNING {
|
||||||
s.WARN.Println(m)
|
s.WARN.Println(m)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue