package logger import ( "fmt" "github.com/fatedier/beego/logs" ) // Log is the under log object var Log *logs.BeeLogger func init() { Log = logs.NewLogger(10000) Log.EnableFuncCallDepth(true) Log.SetLogFuncCallDepth(Log.GetLogFuncCallDepth() + 1) } func InitLog(logFile string, logLevel string, maxdays int64, disableLogColor bool) { SetLogFile("", logFile, maxdays, disableLogColor) SetLogLevel(logLevel) } // SetLogFile to configure log params // logWay: file or console func SetLogFile(logWay string, logFile string, maxdays int64, disableLogColor bool) { if logWay == "console" { params := "" if disableLogColor { params = `{"color": false}` } _ = Log.SetLogger("console", params) } else { params := fmt.Sprintf(`{"filename": "%s", "maxdays": %d, "maxlines":0, "maxsize":0, "daily":true}`, logFile, maxdays) _ = Log.SetLogger("file", params) } } // SetLogLevel set log level, default is warning // value: error, warning, info, debug, trace func SetLogLevel(logLevel string) { var level int switch logLevel { case "error": level = 3 case "warn": level = 4 case "info": level = 6 case "debug": level = 7 case "trace": level = 8 default: level = 4 // warning } Log.SetLevel(level) } // wrap log func Error(format string, v ...interface{}) { Log.Error(format, v...) } func Warn(format string, v ...interface{}) { Log.Warn(format, v...) } func Info(format string, v ...interface{}) { Log.Info(format, v...) } func Debug(format string, v ...interface{}) { Log.Debug(format, v...) } func Trace(format string, v ...interface{}) { Log.Trace(format, v...) }