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...)
|
}
|