package utils import ( "fmt" "github.com/gin-gonic/gin" "time" ) func GinHandler(c *gin.Context) { defer func() { if err := recover(); err != nil { logger.Errorf("GinLogHandler Error %v", err) c.JSON(500, gin.H{"code": 500, "msg": fmt.Sprintf("GinLogHandler Error %v", err)}) //c.Data(500, "application/json; charset=utf-8", []byte{}) } }() startTime := time.Now() c.Next() endTime := time.Now() latencyTime := endTime.Sub(startTime) reqMethod := c.Request.Method reqUri := c.Request.RequestURI statusCode := c.Writer.Status() clientIP := c.ClientIP() //a := logger.WithFields(map[string]interface{}{"test":"test"}) logger.Infof("FromIP:%s Request: Method:%s Url:%s Time:%v Status:%d", clientIP, reqMethod, reqUri, latencyTime, statusCode) } func GinNoRoute(c *gin.Context) { c.Data(404, "application/json; charset=utf-8", []byte(`{"code":404,"msg":"404 page not found"}`)) }