goProject/trunk/goutil/logUtil/log_api.go

128 lines
2.6 KiB
Go
Raw Normal View History

2025-01-06 16:01:02 +08:00
package logUtil
import (
"fmt"
"runtime"
"strings"
)
const (
con_MIN_SKIP = 1
con_MAX_SKIP = 10
)
// InfoLog 信息日志记录
// format:日志格式
// args:参数列表
func InfoLog(format string, args ...interface{}) {
for _, log := range logs {
log.InfoLog(format, args...)
}
}
// WarnLog 警告日志记录
// format:日志格式
// args:参数列表
func WarnLog(format string, args ...interface{}) {
for _, log := range logs {
log.WarnLog(format, args...)
}
}
// DebugLog 调试日志记录
// format:日志格式
// args:参数列表
func DebugLog(format string, args ...interface{}) {
for _, log := range logs {
log.DebugLog(format, args...)
}
}
// ErrorLog 错误日志记录
// format:日志格式
// args:参数列表
func ErrorLog(format string, args ...interface{}) {
for _, log := range logs {
log.ErrorLog(format, args...)
}
}
// FatalLog 致命错误日志记录
// format:日志格式
// args:参数列表
func FatalLog(format string, args ...interface{}) {
for _, log := range logs {
log.FatalLog(format, args...)
}
}
// Close
// @description: 关闭日志
// parameter:
// @waitFinish:是否等待关闭完成
// return:
func Close(waitFinish bool) {
for _, log := range logs {
log.CloseLog(waitFinish)
}
}
//--------------------------Deprecated methods start----------------------------
// Log 日志记录
// Deprecated: use XXXLog api instead
func Log(logInfo string, lv LogType, ifIncludeHour bool) {
switch lv {
case Info:
InfoLog(logInfo)
case Warn:
WarnLog(logInfo)
case Debug:
DebugLog(logInfo)
case Error:
ErrorLog(logInfo)
case Fatal:
FatalLog(logInfo)
}
}
// NormalLog 日志记录
// Deprecated: use XXXLog api instead
func NormalLog(logInfo string, level LogType) {
Log(logInfo, level, true)
}
// LogAndPrint 日志记录
// Deprecated: use XXXLog api instead
func LogAndPrint(logInfo string, level LogType) {
NormalLog(logInfo, level)
fmt.Println(logInfo)
}
// LogUnknownError 日志记录
func LogUnknownError(r interface{}, args ...string) {
buf := strings.Builder{}
buf.WriteString(fmt.Sprintf("通过recover捕捉到的未处理异常%v \n", r))
// 获取附加信息
if len(args) > 0 {
buf.WriteString("附加信息:")
buf.WriteString(strings.Join(args, "-"))
buf.WriteString("\n")
}
// 获取堆栈信息
for skip := con_MIN_SKIP; skip <= con_MAX_SKIP; skip++ {
_, file, line, ok := runtime.Caller(skip)
if !ok {
break
}
buf.WriteString(fmt.Sprintf("skip = %d, file = %s, line = %d \n", skip, file, line))
buf.WriteString("\n")
}
ErrorLog(buf.String())
}
//--------------------------Deprecated methods end----------------------------