daShangDao_planA/planB/tool/logr.go

72 lines
1.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package tool
import (
"fmt"
"planA/planB/initialization/golabl"
"planA/planB/modules/logs"
"sync"
)
// LoggingMiddleware 记录日志
// 全局计数器,用于控制错误日志打印频率
var errorLogCounter = 0
var errorLogMutex sync.Mutex
func LoggingMiddleware(level string, str string) {
m := golabl.LogDll
initializeLoggerErr := logs.InitializeLogger(m, "logs")
if initializeLoggerErr != nil {
fmt.Println("初始化日志失败:", initializeLoggerErr)
return
}
setLogTaskTypeErr := logs.SetLogTaskType(m, "task")
if setLogTaskTypeErr != nil {
fmt.Println("设置日志任务类型失败:", setLogTaskTypeErr)
return
}
str = SteLog(str)
// 设置打印间隔例如每100条打印一次
printInterval := 100 // 可以修改这个数字来调整打印频率
switch {
case level == logs.LOG_LEVEL_ERROR:
// 控制打印频率
shouldPrint := false
errorLogMutex.Lock()
errorLogCounter++
if errorLogCounter%printInterval == 0 {
shouldPrint = true
}
errorLogMutex.Unlock()
if shouldPrint {
fmt.Println(str)
}
logErrorErr := logs.LogError(m, str)
if logErrorErr != nil {
fmt.Println("记录错误日志失败:", logErrorErr)
return
}
case level == logs.LOG_LEVEL_WARNING:
logWarningErr := logs.LogWarning(m, str)
if logWarningErr != nil {
fmt.Println("记录警告日志失败:", logWarningErr)
return
}
case level == logs.LOG_LEVEL_SUCCESS:
logSuccessErr := logs.LogSuccess(m, str)
if logSuccessErr != nil {
fmt.Println("记录成功日志失败:", logSuccessErr)
return
}
default:
logInfoErr := logs.LogInfo(m, str)
if logInfoErr != nil {
fmt.Println("记录信息日志失败:", logInfoErr)
return
}
}
}