| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package middleware
- import (
- "fmt"
- "github.com/QuantumNous/new-api/common"
- "github.com/gin-gonic/gin"
- )
- const RouteTagKey = "route_tag"
- func RouteTag(tag string) gin.HandlerFunc {
- return func(c *gin.Context) {
- c.Set(RouteTagKey, tag)
- c.Next()
- }
- }
- func SetUpLogger(server *gin.Engine) {
- server.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
- var requestID string
- if param.Keys != nil {
- requestID, _ = param.Keys[common.RequestIdKey].(string)
- }
- tag, _ := param.Keys[RouteTagKey].(string)
- if tag == "" {
- tag = "web"
- }
- return fmt.Sprintf("[GIN] %s | %s | %s | %3d | %13v | %15s | %7s %s\n",
- param.TimeStamp.Format("2006/01/02 - 15:04:05"),
- tag,
- requestID,
- param.StatusCode,
- param.Latency,
- param.ClientIP,
- param.Method,
- param.Path,
- )
- }))
- }
|