|
@@ -3,6 +3,7 @@ package middleware
|
|
|
import (
|
|
import (
|
|
|
"bytes"
|
|
"bytes"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
+ "io/ioutil"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
"git.qianqiusoft.com/public/glog"
|
|
"git.qianqiusoft.com/public/glog"
|
|
@@ -96,14 +97,13 @@ func LoggerMiddleware() gin.HandlerFunc {
|
|
|
logInfo := &LogInfo{}
|
|
logInfo := &LogInfo{}
|
|
|
logInfo.ReqTime = time.Now()
|
|
logInfo.ReqTime = time.Now()
|
|
|
|
|
|
|
|
- // 下一个请求
|
|
|
|
|
- c.Next()
|
|
|
|
|
|
|
+ buf, _ := ioutil.ReadAll(c.Request.Body)
|
|
|
|
|
+ c.Request.Body = ioutil.NopCloser(bytes.NewBuffer([]byte(buf)))
|
|
|
hByte := bytes.Buffer{}
|
|
hByte := bytes.Buffer{}
|
|
|
- bByte := make([]byte, 1024)
|
|
|
|
|
|
|
+ c.Request.Header.Write(&hByte)
|
|
|
|
|
|
|
|
- cReq := c.Request.Clone(c)
|
|
|
|
|
- cReq.Header.Write(&hByte)
|
|
|
|
|
- rbn, _ := cReq.Body.Read(bByte)
|
|
|
|
|
|
|
+ // 下一个请求
|
|
|
|
|
+ c.Next()
|
|
|
|
|
|
|
|
// 设置对象
|
|
// 设置对象
|
|
|
logInfo.RespBody = respWriter.respBody.Bytes()
|
|
logInfo.RespBody = respWriter.respBody.Bytes()
|
|
@@ -113,7 +113,7 @@ func LoggerMiddleware() gin.HandlerFunc {
|
|
|
logInfo.ReqProto = c.Request.Proto
|
|
logInfo.ReqProto = c.Request.Proto
|
|
|
logInfo.ReqUa = c.Request.UserAgent()
|
|
logInfo.ReqUa = c.Request.UserAgent()
|
|
|
logInfo.ReqReferer = c.Request.Referer()
|
|
logInfo.ReqReferer = c.Request.Referer()
|
|
|
- logInfo.ReqBody = bByte[0:rbn]
|
|
|
|
|
|
|
+ logInfo.ReqBody = buf
|
|
|
logInfo.ReqHeader = hByte.Bytes()
|
|
logInfo.ReqHeader = hByte.Bytes()
|
|
|
logInfo.ReqClientIp = c.ClientIP()
|
|
logInfo.ReqClientIp = c.ClientIP()
|
|
|
logInfo.CostTime = float64(logInfo.RespTime.Sub(logInfo.ReqTime).Seconds())
|
|
logInfo.CostTime = float64(logInfo.RespTime.Sub(logInfo.ReqTime).Seconds())
|