From 94d003e8957f67831bf17ec9199608944831e2e4 Mon Sep 17 00:00:00 2001 From: xujun Date: Sat, 25 Apr 2026 16:42:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dresp=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=86=99BUG?= 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, 13 insertions(+), 18 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 f2c4df9..bedb9da 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,29 +97,24 @@ 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); - // 响应数据 - 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(); - } + // 处理请求 + filterChain.doFilter(requestWrapper, responseWrapper); // 获取请求参数 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);