重构日志与可观测性体系

新增单行文本编码器与结构化 GORM 日志,统一错误记录与请求日志策略,收紧日志文件权限并修复按天切分与压缩,支付回调参数脱敏,生产强制阿里云短信,RequestID 校验防注入,日志文案中文化。
This commit is contained in:
yml2213
2026-07-29 16:19:35 +08:00
parent e75f1a8519
commit 88d74aca7d
64 changed files with 896 additions and 277 deletions
+6 -6
View File
@@ -83,7 +83,7 @@ func (j *Job) acquireLock(ctx context.Context) (func(), bool) {
}
ok, err := j.redis.SetNX(ctx, orderTimeoutLockKey, j.instanceID, j.lockTTL()).Result()
if err != nil {
j.logger.Warn("order timeout job acquire lock failed, run without lock", zap.Error(err))
j.logger.Warn("订单超时任务获取锁失败,将以单实例模式执行", zap.Error(err))
return func() {}, true
}
if !ok {
@@ -101,7 +101,7 @@ func (j *Job) releaseLock() {
defer cancel()
script := redis.NewScript(`if redis.call("get", KEYS[1]) == ARGV[1] then return redis.call("del", KEYS[1]) else return 0 end`)
if err := script.Run(relCtx, j.redis, []string{orderTimeoutLockKey}, j.instanceID).Err(); err != nil {
j.logger.Warn("order timeout job release lock failed", zap.Error(err))
j.logger.Warn("订单超时任务释放锁失败", zap.Error(err))
}
}
@@ -131,7 +131,7 @@ func (j *Job) loop(ctx context.Context) {
for {
select {
case <-ctx.Done():
j.logger.Info("order timeout job stopped")
j.logger.Debug("订单超时任务已停止")
return
case <-ticker.C:
j.run(ctx)
@@ -148,7 +148,7 @@ func (j *Job) run(ctx context.Context) {
cfg, err := j.loadThresholds(ctx)
if err != nil {
j.logger.Warn("order timeout job config load failed", zap.Error(err))
j.logger.Warn("订单超时任务加载配置失败", zap.Error(err))
return
}
now := time.Now()
@@ -164,13 +164,13 @@ func (j *Job) run(ctx context.Context) {
for _, handler := range handlers {
count, err := handler(ctx, now, cfg)
if err != nil {
j.logger.Warn("order timeout handler failed", zap.Error(err))
j.logger.Warn("订单超时处理失败", zap.Error(err))
continue
}
total += count
}
if total > 0 {
j.logger.Info("order timeout job processed orders", zap.Int("count", total))
j.logger.Info("订单超时处理完成", zap.Int("count", total))
}
}