还原http日志采集
This commit is contained in:
@@ -108,45 +108,35 @@ public class HttpLogFilter extends BaseFilter implements Ordered, BaseParams {
|
|||||||
// 获取请求日志节点
|
// 获取请求日志节点
|
||||||
LogTrack logTrack = LogTrackHolder.get();
|
LogTrack logTrack = LogTrackHolder.get();
|
||||||
|
|
||||||
// 包装请求
|
// 包装请求和响应
|
||||||
ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request, DEFAULT_CACHE_LIMIT);
|
ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request, DEFAULT_CACHE_LIMIT);
|
||||||
|
|
||||||
// 是否忽略响应体
|
|
||||||
if (PathPatternUtils.match(RESP_WHITE_LIST, uri)) {
|
|
||||||
// 处理请求
|
|
||||||
if (!response.isCommitted()) {
|
|
||||||
filterChain.doFilter(requestWrapper, response);
|
|
||||||
}
|
|
||||||
// 获取请求体数据
|
|
||||||
requestLog.put("requestBody", getContent(requestWrapper.getContentAsByteArray()));
|
|
||||||
// 记录请求日志
|
|
||||||
saveLog(logTrack, LogBusBaseType.HTTP_REQUEST, requestLog);
|
|
||||||
// 停止计时
|
|
||||||
sw.stop();
|
|
||||||
// 保存日志
|
|
||||||
JSONObject responseLog = JSONObject.of(
|
|
||||||
"headers", getResponseHeaders(response),
|
|
||||||
"responseBody", "ignore",
|
|
||||||
"execTime", sw.getTotalTimeMillis()
|
|
||||||
);
|
|
||||||
saveLog(LogTrackHolder.get(), LogBusBaseType.HTTP_RESPONSE, responseLog);
|
|
||||||
} else {
|
|
||||||
// 包装响应
|
|
||||||
ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response);
|
ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response);
|
||||||
|
|
||||||
// 处理请求
|
// 处理请求
|
||||||
filterChain.doFilter(requestWrapper, responseWrapper);
|
filterChain.doFilter(requestWrapper, responseWrapper);
|
||||||
|
|
||||||
// 获取请求体数据
|
// 获取请求体数据
|
||||||
requestLog.put("requestBody", getContent(requestWrapper.getContentAsByteArray()));
|
requestLog.put("requestBody", getContent(requestWrapper.getContentAsByteArray()));
|
||||||
// 记录请求日志
|
// 记录请求日志
|
||||||
saveLog(logTrack, LogBusBaseType.HTTP_REQUEST, requestLog);
|
saveLog(logTrack, LogBusBaseType.HTTP_REQUEST, requestLog);
|
||||||
|
|
||||||
// 获取响应头信息
|
// 获取响应头信息
|
||||||
JSONObject responseHeaders = getResponseHeaders(responseWrapper);
|
JSONObject responseHeaders = getResponseHeaders(responseWrapper);
|
||||||
// 获取响应体数据
|
// 获取响应体数据
|
||||||
Object respData = getContent(responseWrapper.getContentAsByteArray());
|
Object respData;
|
||||||
|
if (PathPatternUtils.match(RESP_WHITE_LIST, uri)) {
|
||||||
|
respData = "ignore";
|
||||||
|
} else {
|
||||||
|
// 获取响应内容
|
||||||
|
respData = getContent(responseWrapper.getContentAsByteArray());
|
||||||
|
}
|
||||||
|
|
||||||
// 将内容复制回原始响应
|
// 将内容复制回原始响应
|
||||||
responseWrapper.copyBodyToResponse();
|
responseWrapper.copyBodyToResponse();
|
||||||
|
|
||||||
// 停止计时
|
// 停止计时
|
||||||
sw.stop();
|
sw.stop();
|
||||||
|
|
||||||
// 保存日志
|
// 保存日志
|
||||||
JSONObject responseLog = JSONObject.of(
|
JSONObject responseLog = JSONObject.of(
|
||||||
"headers", responseHeaders,
|
"headers", responseHeaders,
|
||||||
@@ -155,7 +145,6 @@ public class HttpLogFilter extends BaseFilter implements Ordered, BaseParams {
|
|||||||
);
|
);
|
||||||
saveLog(LogTrackHolder.get(), LogBusBaseType.HTTP_RESPONSE, responseLog);
|
saveLog(LogTrackHolder.get(), LogBusBaseType.HTTP_RESPONSE, responseLog);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取请求头信息
|
* 获取请求头信息
|
||||||
|
|||||||
Reference in New Issue
Block a user