diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 5f83cf16d..ae361f402 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -53,10 +53,6 @@ logging: org.springframework: warn config: classpath:logback.xml -# tlog 全局访问性能拦截 -tlog: - enable-invoke-time-print: true - # Spring配置 spring: application: 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 547fa8daf..9ba4cff8e 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 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 parameterMap = request.getParameterMap(); if (MapUtil.isNotEmpty(parameterMap)) { @@ -54,13 +61,13 @@ public class PlusWebInvokeTimeInterceptor extends AbsTLogWebHandlerMethodInterce } @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());