package middleware import ( "log/slog" "time" "github.com/gin-gonic/gin" ) // Logger 请求日志中间件,记录方法、路径、状态码、耗时 func Logger() gin.HandlerFunc { return func(c *gin.Context) { start := time.Now() path := c.Request.URL.Path c.Next() latency := time.Since(start) status := c.Writer.Status() slog.Info("请求", "method", c.Request.Method, "path", path, "status", status, "latency", latency.String(), "ip", c.ClientIP(), ) } }