From c147776a41451dba535cb8e23a4fb2da6bc69818 Mon Sep 17 00:00:00 2001 From: xujun Date: Sat, 25 Apr 2026 16:20:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96http=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E9=87=87=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/common/log/filter/HttpLogFilter.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/xtools-app-common/xtools-app-common-log/xtools-app-common-log-filter/src/main/java/xtools/app/common/log/filter/HttpLogFilter.java b/xtools-app-common/xtools-app-common-log/xtools-app-common-log-filter/src/main/java/xtools/app/common/log/filter/HttpLogFilter.java index bedb9da..f2c4df9 100644 --- a/xtools-app-common/xtools-app-common-log/xtools-app-common-log-filter/src/main/java/xtools/app/common/log/filter/HttpLogFilter.java +++ b/xtools-app-common/xtools-app-common-log/xtools-app-common-log-filter/src/main/java/xtools/app/common/log/filter/HttpLogFilter.java @@ -97,24 +97,29 @@ public class HttpLogFilter extends BaseFilter implements Ordered, BaseParams { // 记录请求日志 LogBus.init(LogLevel.INFO, LogBusBaseType.HTTP_REQUEST).data(log).save(); - // 包装请求和响应 + // 包装请求 ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request, DEFAULT_CACHE_LIMIT); - ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response); - // 处理请求 - filterChain.doFilter(requestWrapper, responseWrapper); + // 响应数据 + Object respData; + if (PathPatternUtils.match(RESP_WHITE_LIST, uri)) { + // 处理请求 + filterChain.doFilter(requestWrapper, response); + respData = "ignore"; + } else { + // 包装响应 + ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response); + // 处理请求 + filterChain.doFilter(requestWrapper, responseWrapper); + // 获取响应内容 + respData = getContent(responseWrapper.getContentAsByteArray()); + // 将内容复制回原始响应 + responseWrapper.copyBodyToResponse(); + } // 获取请求参数 Object reqParam = getContent(requestWrapper.getContentAsByteArray()); - Object respData; - if (!PathPatternUtils.match(RESP_WHITE_LIST, uri)) { - // 获取响应内容 - respData = getContent(responseWrapper.getContentAsByteArray()); - } else { - respData = "ignore"; - } - // 将内容复制回原始响应 - responseWrapper.copyBodyToResponse(); + // 保存日志 log.put("reqBody", reqParam); log.put("respData", respData);