From 89de1beb6fe245eb0c9f96e68cbe5cd46877e7d1 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 22 十二月 2021 10:19:57 +0800 Subject: [PATCH] update 优化web拦截器 使用原生接口处理 默认非生产环境开启 --- ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java index 547fa8d..9ba4cff 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java @@ -1,41 +1,48 @@ package com.ruoyi.framework.interceptor; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.map.MapUtil; import com.alibaba.ttl.TransmittableThreadLocal; +import com.ruoyi.common.filter.RepeatedlyRequestWrapper; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.StringUtils; -import com.yomahub.tlog.context.TLogContext; -import com.yomahub.tlog.web.interceptor.AbsTLogWebHandlerMethodInterceptor; -import com.yomahub.tlog.web.wrapper.RequestWrapper; +import com.ruoyi.common.utils.spring.SpringUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.StopWatch; import org.springframework.http.MediaType; +import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; import java.util.Map; /** - * 閲嶅啓Tlog web鐨勮皟鐢ㄦ椂闂寸粺璁℃嫤鎴櫒 + * web鐨勮皟鐢ㄦ椂闂寸粺璁℃嫤鎴櫒 + * dev鐜鏈夋晥 * * @author Lion Li * @since 3.3.0 */ @Slf4j -public class PlusWebInvokeTimeInterceptor extends AbsTLogWebHandlerMethodInterceptor { +public class PlusWebInvokeTimeInterceptor implements HandlerInterceptor { private final TransmittableThreadLocal<StopWatch> invokeTimeTL = new TransmittableThreadLocal<>(); @Override - public boolean preHandleByHandlerMethod(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - if (TLogContext.enableInvokeTimePrint()) { + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + if (!"prod".equals(SpringUtils.getActiveProfile())) { String url = request.getMethod() + " " + request.getRequestURI(); // 鎵撳嵃璇锋眰鍙傛暟 if (isJsonRequest(request)) { - String jsonParam = new RequestWrapper(request).getBodyString(); - log.debug("[PLUS]寮�濮嬭姹� => URL[{}],鍙傛暟绫诲瀷[json],鍙傛暟:[{}]", url, jsonParam); + String jsonParam = ""; + if (request instanceof RepeatedlyRequestWrapper) { + BufferedReader reader = request.getReader(); + jsonParam = IoUtil.read(reader); + } + log.debug("[PLUS]寮�濮嬭姹� => URL[{}],鍙傛暟绫诲瀷[json],鍙傛暟:[{}]", url, jsonParam); } else { Map<String, String[]> parameterMap = request.getParameterMap(); if (MapUtil.isNotEmpty(parameterMap)) { @@ -54,13 +61,13 @@ } @Override - public void postHandleByHandlerMethod(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override - public void afterCompletionByHandlerMethod(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { - if (TLogContext.enableInvokeTimePrint()) { + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + if (!"prod".equals(SpringUtils.getActiveProfile())) { StopWatch stopWatch = invokeTimeTL.get(); stopWatch.stop(); log.debug("[PLUS]缁撴潫璇锋眰 => URL[{}],鑰楁椂:[{}]姣", request.getMethod() + " " + request.getRequestURI(), stopWatch.getTime()); -- Gitblit v1.9.3