upgrade: 优化统一请求日志记录中间件

This commit is contained in:
2025-08-17 22:24:28 +08:00
parent d70c3a0cee
commit fbfb19ae49
3 changed files with 18 additions and 7 deletions

View File

@ -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