优化api返回方法

This commit is contained in:
linwenxiang
2021-03-17 12:43:52 +08:00
parent 5756286641
commit b1789e5785
3 changed files with 20 additions and 51 deletions
+14 -7
View File
@@ -1,6 +1,7 @@
package middleware
import (
"encoding/json"
"fmt"
"net/http"
"strings"
@@ -21,14 +22,17 @@ import (
// LoggerToFile 日志记录到文件
func LoggerToFile() gin.HandlerFunc {
return func(c *gin.Context) {
// 开始时间
startTime := time.Now()
// 处理请求
c.Next()
// 结束时间
endTime := time.Now()
if c.Request.Method == http.MethodOptions {
return
}
log := api.GetRequestLogger(c)
// 开始时间
startTime := time.Now()
// 处理请求
bd, bl := c.Get("body")
var body = ""
@@ -39,7 +43,12 @@ func LoggerToFile() gin.HandlerFunc {
rt, bl := c.Get("result")
var result = ""
if bl {
result = rt.(string)
rb, err := json.Marshal(rt)
if err != nil {
log.Warnf("json Marshal result error, %s", err.Error())
} else {
result = string(rb)
}
}
st, bl := c.Get("status")
@@ -56,8 +65,6 @@ func LoggerToFile() gin.HandlerFunc {
statusCode := c.Writer.Status()
// 请求IP
clientIP := c.ClientIP()
// 结束时间
endTime := time.Now()
// 执行时间
latencyTime := endTime.Sub(startTime)
// 日志格式
@@ -136,4 +143,4 @@ func SetDBOperLog(c *gin.Context, clientIP string, statusCode int, reqUri string
serviceOperaLog.Orm = db
serviceOperaLog.Log = log
_ = serviceOperaLog.InsertSysOperaLog(&sysOperaLog)
}
}