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);