package middleware import ( "ego/pkg/logger" "time" "github.com/gin-gonic/gin" "go.uber.org/zap" ) // GinZapLogger Gin 日志中间件 func GinZapLogger() gin.HandlerFunc { return func(c *gin.Context) { start := time.Now() trackID := logger.GetTrackID(c) c.Next() // 记录请求日志 logger.Info(c, "Handled request", zap.String("trackID", trackID), zap.String("method", c.Request.Method), zap.String("path", c.Request.URL.Path), zap.Int("status", c.Writer.Status()), zap.Duration("duration", time.Since(start)), ) } }