优化请求时间的处理
This commit is contained in:
@ -8,10 +8,9 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper"
|
||||
"strings"
|
||||
|
||||
"git.zhangdeman.cn/zhangdeman/util"
|
||||
|
||||
"git.zhangdeman.cn/zhangdeman/gin/define"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@ -43,17 +42,17 @@ func Access(cfg *AccessConfig) gin.HandlerFunc {
|
||||
// 不记录日志
|
||||
return
|
||||
}
|
||||
startRequestTime := ctx.GetInt64(define.StartRequestTimeField)
|
||||
startRequestTime := wrapper.OwnTime(ctx.GetTime(define.StartRequestTimeField))
|
||||
logDataList := []zap.Field{
|
||||
// 开始请求时间
|
||||
zap.Any(define.StartRequestTimeField, util.Time.FormatUnixNano(startRequestTime)),
|
||||
zap.Any(define.StartRequestTimeField, startRequestTime.FormatUnixMilli()),
|
||||
}
|
||||
// 结束时间
|
||||
finishRequestTime := ctx.GetInt64(define.FinishRequestTimeField)
|
||||
finishRequestTime := wrapper.OwnTime(ctx.GetTime(define.FinishRequestTimeField))
|
||||
logDataList = append(
|
||||
logDataList,
|
||||
zap.Any(define.FinishRequestTimeField, util.Time.FormatUnixNano(startRequestTime)),
|
||||
zap.Int64("pkg_gin_request_cost", finishRequestTime-startRequestTime),
|
||||
zap.Any(define.FinishRequestTimeField, startRequestTime.FormatUnixMilli()),
|
||||
zap.Int64("pkg_gin_request_cost", finishRequestTime.UnixMilli()-startRequestTime.UnixMilli()),
|
||||
)
|
||||
|
||||
// 请求header
|
||||
@ -88,10 +87,12 @@ func Access(cfg *AccessConfig) gin.HandlerFunc {
|
||||
cfg.Logger.Info("请求日志记录", logDataList...)
|
||||
if nil != cfg.FinishHook {
|
||||
// hook 不为nil, 自动触发
|
||||
cfg.FinishHook(ctx,
|
||||
cfg.FinishHook(
|
||||
ctx,
|
||||
[]byte(ctx.GetString(define.RecordRequestDataField)),
|
||||
[]byte(ctx.GetString(define.RecordResponseDataField)),
|
||||
finishRequestTime-startRequestTime)
|
||||
finishRequestTime.UnixMilli()-startRequestTime.UnixMilli(),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user