重构日志与可观测性体系

新增单行文本编码器与结构化 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
@@ -69,6 +69,7 @@ func currentUserID(c *gin.Context) (uint64, bool) {
}
func writeRealnameError(c *gin.Context, err error) {
response.RecordError(c, err)
switch {
case errors.Is(err, ErrDependencyUnavailable):
response.ServiceUnavailable(c, "数据库未连接")
+8 -3
View File
@@ -6,6 +6,7 @@ import (
"regexp"
"strings"
"hfb_sys/backend/internal/logging"
"hfb_sys/backend/internal/model"
"go.uber.org/zap"
@@ -61,13 +62,17 @@ func (s *Service) Start(ctx context.Context, userID uint64, name string, idNo st
})
if err != nil {
if s.log != nil {
s.log.Warn(
"realname provider verify failed",
fields := []zap.Field{
zap.String("module", "realname"),
zap.String("provider", s.provider.Name()),
zap.Uint64("user_id", userID),
zap.String("masked_id_no", maskIDNo(idNo)),
zap.Error(err),
)
}
if requestID := logging.RequestIDFromContext(ctx); requestID != "" {
fields = append(fields, zap.String("request_id", requestID))
}
s.log.Warn("实名认证服务调用失败", fields...)
}
return nil, err
}