dual check v0.1

This commit is contained in:
cancerai committed 2026-08-29 23:34:01 +08:00
1 parent 78bad1fa3d
commit c137299016
36 files changed
+3727 -81

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
package middleware
import (
"time"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
// Logger 基于 zap 的请求日志中间件
// 只记录 method/path/status/latency/request_id,**不记录请求体**(避免泄露用户输入)
func Logger(logger *zap.Logger) gin.HandlerFunc {
return func(c *gin.Context) {
start := time.Now()
c.Next()
latency := time.Since(start)
logger.Info("HTTP",
zap.String("method", c.Request.Method),
zap.String("path", c.Request.URL.Path),
zap.Int("status", c.Writer.Status()),
zap.Int("size", c.Writer.Size()),
zap.String("remote_ip", c.ClientIP()),
zap.String("user_agent", c.Request.UserAgent()),
zap.String("request_id", c.GetString("request_id")),
zap.Duration("latency", latency),
)
}
}