Compare commits
2 Commits
2c5b259770
...
220d61d328
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
220d61d328 | ||
|
|
209bffb6f6 |
@@ -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"))
|
||||
}
|
||||
Reference in New Issue
Block a user