upgrade: 优化统一请求日志记录中间件
This commit is contained in:
@ -8,9 +8,11 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/gin/request/parse_body"
|
||||
"strings"
|
||||
|
||||
"git.zhangdeman.cn/zhangdeman/gin/request/parse_body"
|
||||
"git.zhangdeman.cn/zhangdeman/gin/util"
|
||||
|
||||
"git.zhangdeman.cn/zhangdeman/consts"
|
||||
"git.zhangdeman.cn/zhangdeman/gin/request"
|
||||
"go.uber.org/zap"
|
||||
@ -105,14 +107,14 @@ func LogRequest(cfg *AccessConfig) gin.HandlerFunc {
|
||||
"request_body": map[string]any{}, // 请求body
|
||||
}
|
||||
data["request_body"], _ = parse_body.ExecuteForMap(ctx)
|
||||
logData := logger.NewLogData(ctx, consts.LogTypeRequest, "", data)
|
||||
logData := logger.NewLogData(util.GinCtxToContext(ctx), consts.LogTypeRequest, "", data)
|
||||
cfg.Logger.Info("接口请求日志记录", logger.ZapLogDataList(logData)...)
|
||||
ctx.Next()
|
||||
// 结束时间
|
||||
finishRequestTime := request.WrapperHandle.GetCtxIntData(ctx, handleConfig.FinishRequestTimeField, 0)
|
||||
ctx.Set(handleConfig.FinishRequestTimeField, finishRequestTime)
|
||||
// 记录相应日志
|
||||
logResponseData := logger.NewLogData(ctx, consts.LogTypeOutput, "", map[string]any{
|
||||
logResponseData := logger.NewLogData(util.GinCtxToContext(ctx), consts.LogTypeOutput, "", map[string]any{
|
||||
handleConfig.FinishRequestTimeField: finishRequestTime, // 完成请求时间
|
||||
"request_cost": finishRequestTime - startRequestTime, // 请求耗时
|
||||
"response_body": request.WrapperHandle.GetResponseBody(ctx, handleConfig.ResponseDataField, map[string]any{}), // 响应body
|
||||
|
Reference in New Issue
Block a user