优化请求时间的处理

This commit is contained in:
2023-08-10 12:09:30 +08:00
parent f68f691dd1
commit ec91bb7a44
3 changed files with 139 additions and 49 deletions

View File

@ -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(),
)
}
}
}