diff options
author | Unknown <joe2010xtmf@163.com> | 2014-05-11 14:37:12 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-05-11 14:37:12 -0400 |
commit | 0970d6cc38a79c57ffe8e3c85687f7c7c49059be (patch) | |
tree | e38c3237ff5add6b624115ec8a7595fe32abfde4 /modules/log | |
parent | 98eeec4cbb6967b0e12181f79f2ffc3db00933f8 (diff) |
Log to different adapter according to level
Diffstat (limited to 'modules/log')
-rw-r--r-- | modules/log/log.go | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/modules/log/log.go b/modules/log/log.go index 636ea787..eea3c8ad 100644 --- a/modules/log/log.go +++ b/modules/log/log.go @@ -10,8 +10,7 @@ import ( ) var ( - logger *logs.BeeLogger - Mode, Config string + loggers []*logs.BeeLogger ) func init() { @@ -19,32 +18,54 @@ func init() { } func NewLogger(bufLen int64, mode, config string) { - Mode, Config = mode, config - logger = logs.NewLogger(bufLen) + logger := logs.NewLogger(bufLen) + + isExist := false + for _, l := range loggers { + if l.Adapter == mode { + isExist = true + l = logger + } + } + if !isExist { + loggers = append(loggers, logger) + } logger.SetLogFuncCallDepth(3) logger.SetLogger(mode, config) } func Trace(format string, v ...interface{}) { - logger.Trace(format, v...) + for _, logger := range loggers { + logger.Trace(format, v...) + } } func Debug(format string, v ...interface{}) { - logger.Debug(format, v...) + for _, logger := range loggers { + logger.Debug(format, v...) + } } func Info(format string, v ...interface{}) { - logger.Info(format, v...) + for _, logger := range loggers { + logger.Info(format, v...) + } } func Error(format string, v ...interface{}) { - logger.Error(format, v...) + for _, logger := range loggers { + logger.Error(format, v...) + } } func Warn(format string, v ...interface{}) { - logger.Warn(format, v...) + for _, logger := range loggers { + logger.Warn(format, v...) + } } func Critical(format string, v ...interface{}) { - logger.Critical(format, v...) + for _, logger := range loggers { + logger.Critical(format, v...) + } } |