ginhandler.go 910 B

1234567891011121314151617181920212223242526272829303132
  1. package utils
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "time"
  6. )
  7. func GinHandler(c *gin.Context) {
  8. defer func() {
  9. if err := recover(); err != nil {
  10. logger.Errorf("GinLogHandler Error %v", err)
  11. c.JSON(500, gin.H{"code": 500, "msg": fmt.Sprintf("GinLogHandler Error %v", err)})
  12. //c.Data(500, "application/json; charset=utf-8", []byte{})
  13. }
  14. }()
  15. startTime := time.Now()
  16. c.Next()
  17. endTime := time.Now()
  18. latencyTime := endTime.Sub(startTime)
  19. reqMethod := c.Request.Method
  20. reqUri := c.Request.RequestURI
  21. statusCode := c.Writer.Status()
  22. clientIP := c.ClientIP()
  23. //a := logger.WithFields(map[string]interface{}{"test":"test"})
  24. logger.Infof("FromIP:%s Request: Method:%s Url:%s Time:%v Status:%d",
  25. clientIP, reqMethod, reqUri, latencyTime, statusCode)
  26. }
  27. func GinNoRoute(c *gin.Context) {
  28. c.Data(404, "application/json; charset=utf-8", []byte(`{"code":404,"msg":"404 page not found"}`))
  29. }