Compare commits

...

2 Commits

Author SHA1 Message Date
vipg
220d61d328 add 2025-11-11 16:28:05 +08:00
vipg
209bffb6f6 add 2025-11-11 16:21:30 +08:00

View File

@@ -1,6 +1,7 @@
package logger
import (
"log"
"os"
"time"
@@ -10,6 +11,22 @@ import (
"gopkg.in/natefinch/lumberjack.v2"
)
var shanghaiLoc *time.Location
func init() {
var err error
shanghaiLoc, err = time.LoadLocation("Asia/Shanghai")
if err != nil {
// 尝试备选时区名称
shanghaiLoc, err = time.LoadLocation("PRC")
if err != nil {
// 若仍失败,手动设置东八区偏移
shanghaiLoc = time.FixedZone("CST", 8*3600)
log.Printf("警告:加载时区失败,使用手动东八区偏移: %v", err)
}
}
}
// Init 初始化日志(依赖配置文件已加载)
func Init() {
// 日志级别转换
@@ -60,11 +77,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"))
}
}