This commit is contained in:
vipg
2025-11-11 16:21:30 +08:00
parent 2c5b259770
commit 209bffb6f6

View File

@@ -1,6 +1,7 @@
package logger
import (
"log"
"os"
"time"
@@ -10,6 +11,19 @@ import (
"gopkg.in/natefinch/lumberjack.v2"
)
var shanghaiLoc *time.Location
func init() {
var err error
// 提前初始化时区并处理错误
shanghaiLoc, err = time.LoadLocation("Asia/Shanghai")
if err != nil {
// 若加载失败使用UTC作为 fallback
shanghaiLoc = time.UTC
log.Printf("警告加载Asia/Shanghai时区失败将使用UTC时区: %v", err)
}
}
// Init 初始化日志(依赖配置文件已加载)
func Init() {
// 日志级别转换
@@ -60,11 +74,10 @@ func Init() {
zap.L().Info("✅ 日志初始化成功", zap.String("level", level.String()))
}
// customTimeEncoder 自定义时间格式(强制东八区)
// customTimeEncoder 自定义时间格式(强制东八区若加载失败则使用UTC
func customTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
// 转换为东八区UTC+8时间
loc, _ := time.LoadLocation("Asia/Shanghai")
beijingTime := t.In(loc)
// 使用提前初始化好的时区,避免每次调用都加载
beijingTime := t.In(shanghaiLoc)
// 格式化输出
enc.AppendString(beijingTime.Format("2006-01-02 15:04:05.000"))
}
}