add
This commit is contained in:
@@ -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"))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user