重构日志与可观测性体系

新增单行文本编码器与结构化 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
+21 -1
View File
@@ -1,6 +1,10 @@
package logging
import "context"
import (
"context"
"go.uber.org/zap"
)
type requestIDContextKey struct{}
type adminIDContextKey struct{}
@@ -41,3 +45,19 @@ func AdminIDFromContext(ctx context.Context) uint64 {
adminID, _ := ctx.Value(adminIDContextKey{}).(uint64)
return adminID
}
// FromContext 返回自动携带请求和管理员上下文的日志器。
func FromContext(ctx context.Context) *zap.Logger {
logger := zap.L()
fields := make([]zap.Field, 0, 2)
if requestID := RequestIDFromContext(ctx); requestID != "" {
fields = append(fields, zap.String("request_id", requestID))
}
if adminID := AdminIDFromContext(ctx); adminID != 0 {
fields = append(fields, zap.Uint64("admin_id", adminID))
}
if len(fields) == 0 {
return logger
}
return logger.With(fields...)
}