|
@@ -5,6 +5,7 @@ import (
|
|
|
stringUtils "eta/eta_mini_ht_api/common/utils/string"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/core/logs"
|
|
|
+ "github.com/beego/beego/v2/server/web/context"
|
|
|
"log"
|
|
|
"os"
|
|
|
"path"
|
|
@@ -58,35 +59,62 @@ func Warn(msg string, v ...interface{}) {
|
|
|
func Debug(msg string, v ...interface{}) {
|
|
|
loggerHandler.Debug(msg, v...)
|
|
|
}
|
|
|
+
|
|
|
+func InfoWithTraceId(ctx *context.Context, msg string, v ...interface{}) {
|
|
|
+ if traceId := ctx.Input.GetData("traceId"); traceId != "" {
|
|
|
+ msg = fmt.Sprintf("[traceId:%s,%v]", traceId, msg)
|
|
|
+ }
|
|
|
+ Info(msg, v...)
|
|
|
+}
|
|
|
+
|
|
|
+func ErrorWithTraceId(ctx *context.Context, msg string, v ...interface{}) {
|
|
|
+ if traceId := ctx.Input.GetData("traceId"); traceId != "" {
|
|
|
+ msg = fmt.Sprintf("[traceId:%s,%v]", traceId, msg)
|
|
|
+ }
|
|
|
+ Error(msg, v...)
|
|
|
+}
|
|
|
+
|
|
|
+func WarnWithTraceId(ctx *context.Context, msg string, v ...interface{}) {
|
|
|
+ if traceId := ctx.Input.GetData("traceId"); traceId != "" {
|
|
|
+ msg = fmt.Sprintf("[traceId:%s,%v]", traceId, msg)
|
|
|
+ }
|
|
|
+ Warn(msg, v...)
|
|
|
+}
|
|
|
+func DebugWithTraceId(ctx *context.Context, msg string, v ...interface{}) {
|
|
|
+ if traceId := ctx.Input.GetData("traceId"); traceId != "" {
|
|
|
+ msg = fmt.Sprintf("[traceId:%s,%v]", traceId, msg)
|
|
|
+ }
|
|
|
+ Debug(msg, v...)
|
|
|
+}
|
|
|
func (c *CustomLogger) Debug(msg string, v ...interface{}) {
|
|
|
- for _, logger := range c.logs {
|
|
|
- if logger.GetLevel() >= logs.LevelInfo && logger.filter.ShouldLog(msg) {
|
|
|
- logger.Debug(msg, v...)
|
|
|
+ for _, cusLogger := range c.logs {
|
|
|
+ if cusLogger.GetLevel() >= logs.LevelDebug && cusLogger.filter.ShouldLog(msg) {
|
|
|
+ cusLogger.Debug(msg, v...)
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
func (c *CustomLogger) Info(msg string, v ...interface{}) {
|
|
|
- for _, logger := range c.logs {
|
|
|
- if logger.GetLevel() >= logs.LevelInfo && logger.filter.ShouldLog(msg) {
|
|
|
- logger.Info(msg, v...)
|
|
|
+ for _, cusLogger := range c.logs {
|
|
|
+ if cusLogger.GetLevel() >= logs.LevelInfo && cusLogger.filter.ShouldLog(msg) {
|
|
|
+ cusLogger.Info(msg, v...)
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func (c *CustomLogger) Error(msg string, v ...interface{}) {
|
|
|
- for _, logger := range c.logs {
|
|
|
- if logger.GetLevel() >= logs.LevelError && logger.filter.ShouldLog(msg) {
|
|
|
- logger.Error(msg, v...)
|
|
|
+ for _, cusLogger := range c.logs {
|
|
|
+ if cusLogger.GetLevel() >= logs.LevelError && cusLogger.filter.ShouldLog(msg) {
|
|
|
+ cusLogger.Error(msg, v...)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func (c *CustomLogger) Warn(msg string, v ...interface{}) {
|
|
|
- for _, logger := range c.logs {
|
|
|
- if logger.GetLevel() >= logs.LevelWarning && logger.filter.ShouldLog(msg) {
|
|
|
- logger.Warn(msg, v...)
|
|
|
+ for _, cusLogger := range c.logs {
|
|
|
+ if cusLogger.GetLevel() >= logs.LevelWarning && cusLogger.filter.ShouldLog(msg) {
|
|
|
+ cusLogger.Warn(msg, v...)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -130,41 +158,41 @@ func initLogger(logCfg logConfig) {
|
|
|
if stringUtils.IsEmptyOrNil(logCfg.FilePath) {
|
|
|
logCfg.FilePath = DefalutLogFilePath
|
|
|
}
|
|
|
- for _, appender := range logCfg.Appenders {
|
|
|
- terminalType, ok := terminalType[appender.Type]
|
|
|
+ for _, appenderItem := range logCfg.Appenders {
|
|
|
+ terminal, ok := terminalType[appenderItem.Type]
|
|
|
if !ok {
|
|
|
- fmt.Println("初始化日志执行器失败:{%s},终端类型不支持{type:%s}", appender.FileName, appender.Type)
|
|
|
+ fmt.Println("初始化日志执行器失败:{%s},终端类型不支持{type:%s}", appenderItem.FileName, appenderItem.Type)
|
|
|
continue
|
|
|
}
|
|
|
var beeLogger *logs.BeeLogger
|
|
|
- if terminalType == logs.AdapterConsole {
|
|
|
+ if terminal == logs.AdapterConsole {
|
|
|
beeLogger = logs.NewLogger(LogChannelLen)
|
|
|
err := beeLogger.SetLogger(logs.AdapterConsole)
|
|
|
if err != nil {
|
|
|
- fmt.Println("创建日志执行器失败:{%s} %v", appender.FileName, err)
|
|
|
+ fmt.Println("创建日志执行器失败:{%s} %v", appenderItem.FileName, err)
|
|
|
continue
|
|
|
}
|
|
|
} else {
|
|
|
- logFile := appender.FileName
|
|
|
+ logFile := appenderItem.FileName
|
|
|
os.MkdirAll(logCfg.FilePath, os.ModePerm)
|
|
|
// 打开文件
|
|
|
- appender.FileName = path.Join(logCfg.FilePath, logFile)
|
|
|
- logProps, err := convertAppenderToLog(&appender)
|
|
|
+ appenderItem.FileName = path.Join(logCfg.FilePath, logFile)
|
|
|
+ props, err := convertAppenderToLog(&appenderItem)
|
|
|
if err != nil {
|
|
|
- fmt.Println("初始化日志执行器失败:{%s} %v", appender.FileName, err)
|
|
|
+ fmt.Println("初始化日志执行器失败:{%s} %v", appenderItem.FileName, err)
|
|
|
continue
|
|
|
}
|
|
|
- b, _ := json.Marshal(logProps)
|
|
|
+ b, _ := json.Marshal(props)
|
|
|
beeLogger = logs.NewLogger(LogChannelLen)
|
|
|
err = beeLogger.SetLogger(logs.AdapterFile, string(b))
|
|
|
if err != nil {
|
|
|
- fmt.Println("设置日志执行器失败:{%s} %v", appender.FileName, err)
|
|
|
+ fmt.Println("设置日志执行器失败:{%s} %v", appenderItem.FileName, err)
|
|
|
continue
|
|
|
}
|
|
|
beeLogger.EnableFuncCallDepth(true)
|
|
|
}
|
|
|
loggerHandler.logs = append(loggerHandler.logs, &logger{BeeLogger: beeLogger,
|
|
|
- filter: NewLevelFilter(appender.Filter)})
|
|
|
+ filter: NewLevelFilter(appenderItem.Filter)})
|
|
|
}
|
|
|
}
|
|
|
|