package middleware import ( "log" "time" "github.com/gin-gonic/gin" ) // Logger 请求日志中间件 func Logger() gin.HandlerFunc { return func(c *gin.Context) { start := time.Now() path := c.Request.URL.Path query := c.Request.URL.RawQuery method := c.Request.Method c.Next() latency := time.Since(start) status := c.Writer.Status() clientIP := c.ClientIP() if query != "" { path = path + "?" + query } log.Printf("[API] %s %s %d %v %s", method, path, status, latency, clientIP) } }