|
@@ -1,6 +1,5 @@
|
|
package com.nokia.hb.config.web;
|
|
package com.nokia.hb.config.web;
|
|
|
|
|
|
-import com.alibaba.fastjson2.JSON;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.slf4j.MDC;
|
|
import org.slf4j.MDC;
|
|
import org.springframework.lang.Nullable;
|
|
import org.springframework.lang.Nullable;
|
|
@@ -12,9 +11,6 @@ import org.springframework.web.servlet.HandlerInterceptor;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.nio.charset.Charset;
|
|
import java.nio.charset.Charset;
|
|
-import java.util.Enumeration;
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.Map;
|
|
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -36,24 +32,24 @@ public class RequestLogHandlerInterceptor implements HandlerInterceptor {
|
|
// 日志添加跟踪id
|
|
// 日志添加跟踪id
|
|
MDC.put("traceId", UUID.randomUUID().toString().replace("-", ""));
|
|
MDC.put("traceId", UUID.randomUUID().toString().replace("-", ""));
|
|
log.info("请求地址: {} {}", request.getRequestURL().toString(), request.getMethod());
|
|
log.info("请求地址: {} {}", request.getRequestURL().toString(), request.getMethod());
|
|
- // 请求头参数
|
|
|
|
- Map<String, String> headers = new HashMap<>();
|
|
|
|
- Enumeration<String> headerNames = request.getHeaderNames();
|
|
|
|
- while (headerNames.hasMoreElements()) {
|
|
|
|
- String k = headerNames.nextElement();
|
|
|
|
- String v = request.getHeader(k);
|
|
|
|
- headers.put(k, v);
|
|
|
|
- }
|
|
|
|
- log.info("请求头参数: {}", JSON.toJSONString(headers));
|
|
|
|
- // 查询参数
|
|
|
|
- Map<String, String> parameters = new HashMap<>();
|
|
|
|
- Enumeration<String> parameterNames = request.getParameterNames();
|
|
|
|
- while (parameterNames.hasMoreElements()) {
|
|
|
|
- String k = parameterNames.nextElement();
|
|
|
|
- String v = request.getParameter(k);
|
|
|
|
- parameters.put(k, v);
|
|
|
|
- }
|
|
|
|
- log.info("查询参数: {}", JSON.toJSONString(parameters));
|
|
|
|
|
|
+// // 请求头参数
|
|
|
|
+// Map<String, String> headers = new HashMap<>();
|
|
|
|
+// Enumeration<String> headerNames = request.getHeaderNames();
|
|
|
|
+// while (headerNames.hasMoreElements()) {
|
|
|
|
+// String k = headerNames.nextElement();
|
|
|
|
+// String v = request.getHeader(k);
|
|
|
|
+// headers.put(k, v);
|
|
|
|
+// }
|
|
|
|
+// log.info("请求头参数: {}", JSON.toJSONString(headers));
|
|
|
|
+// // 查询参数
|
|
|
|
+// Map<String, String> parameters = new HashMap<>();
|
|
|
|
+// Enumeration<String> parameterNames = request.getParameterNames();
|
|
|
|
+// while (parameterNames.hasMoreElements()) {
|
|
|
|
+// String k = parameterNames.nextElement();
|
|
|
|
+// String v = request.getParameter(k);
|
|
|
|
+// parameters.put(k, v);
|
|
|
|
+// }
|
|
|
|
+// log.info("查询参数: {}", JSON.toJSONString(parameters));
|
|
// 请求体参数
|
|
// 请求体参数
|
|
String body = StreamUtils.copyToString(request.getInputStream(), Charset.forName(request.getCharacterEncoding()));
|
|
String body = StreamUtils.copyToString(request.getInputStream(), Charset.forName(request.getCharacterEncoding()));
|
|
log.info("请求参数: {}", StringUtils.trimAllWhitespace(body));
|
|
log.info("请求参数: {}", StringUtils.trimAllWhitespace(body));
|
|
@@ -63,11 +59,13 @@ public class RequestLogHandlerInterceptor implements HandlerInterceptor {
|
|
@Override
|
|
@Override
|
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
|
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
|
|
@Nullable Exception ex) throws Exception {
|
|
@Nullable Exception ex) throws Exception {
|
|
- MyHttpServletResponseWrapper wrapper = (MyHttpServletResponseWrapper) response;
|
|
|
|
- String responseString = new String(wrapper.toByteArray(), Charset.forName(request.getCharacterEncoding()));
|
|
|
|
- // 返回结果打印前100个字符
|
|
|
|
- log.info("返回 {}: {}", wrapper.getStatus(),
|
|
|
|
- org.apache.commons.lang3.StringUtils.substring(responseString, 0, 100));
|
|
|
|
|
|
+ if (!request.getRequestURI().equals("/api/renderTable")) {
|
|
|
|
+ MyHttpServletResponseWrapper wrapper = (MyHttpServletResponseWrapper) response;
|
|
|
|
+ String responseString = new String(wrapper.toByteArray(), Charset.forName(request.getCharacterEncoding()));
|
|
|
|
+ log.info("返回 {}: {}", wrapper.getStatus(), responseString);
|
|
|
|
+ } else {
|
|
|
|
+ log.info("返回 {}", response.getStatus());
|
|
|
|
+ }
|
|
StopWatch stopWatch = STOP_WATCH_THREAD_LOCAL.get();
|
|
StopWatch stopWatch = STOP_WATCH_THREAD_LOCAL.get();
|
|
stopWatch.stop();
|
|
stopWatch.stop();
|
|
log.info("耗时 {} ms", stopWatch.getTotalTimeMillis());
|
|
log.info("耗时 {} ms", stopWatch.getTotalTimeMillis());
|