From d07d90c4abed6db04e7110f14e5e9e02d799aa37 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Wed, 6 Nov 2019 00:33:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E7=94=A8=E7=BA=BF=E7=A8=8B=E6=B1=A0?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=97=A5=E5=BF=97=E5=8F=8A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeesite/modules/sys/interceptor/LogInterceptor.java | 9 +++++---- .../java/com/jeesite/modules/sys/utils/LogUtils.java | 8 ++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java b/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java index 93734af7..b8e2fc9a 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java @@ -15,6 +15,7 @@ import org.springframework.web.servlet.ModelAndView; import com.jeesite.common.lang.ByteUtils; import com.jeesite.common.lang.DateUtils; import com.jeesite.common.lang.TimeUtils; +import com.jeesite.common.network.IpUtils; import com.jeesite.common.service.BaseService; import com.jeesite.modules.sys.utils.LogUtils; import com.jeesite.modules.sys.utils.UserUtils; @@ -35,8 +36,8 @@ public class LogInterceptor extends BaseService implements HandlerInterceptor { long beginTime = System.currentTimeMillis();// 1、开始时间 startTimeThreadLocal.set(beginTime); // 线程绑定变量(该数据只有当前请求的线程可见) if (logger.isDebugEnabled()){ - logger.debug("开始计时: {} URI: {}", new SimpleDateFormat("hh:mm:ss.SSS") - .format(beginTime), request.getRequestURI()); + logger.debug("开始计时: {} URI: {} IP: {}", new SimpleDateFormat("hh:mm:ss.SSS") + .format(beginTime), request.getRequestURI(), IpUtils.getRemoteAddr(request)); } return true; } @@ -52,9 +53,9 @@ public class LogInterceptor extends BaseService implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { - long beginTime = startTimeThreadLocal.get();// 得到线程绑定的局部变量(开始时间) + Long beginTime = startTimeThreadLocal.get();// 得到线程绑定的局部变量(开始时间) long endTime = System.currentTimeMillis(); // 2、结束时间 - long executeTime = endTime - beginTime; // 3、获取执行时间 + long executeTime = beginTime == null ? 0 : endTime - beginTime; // 3、获取执行时间 startTimeThreadLocal.remove(); // 用完之后销毁线程变量数据 // 保存日志 diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java b/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java index 6343940b..aaddf4ce 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java @@ -45,7 +45,7 @@ import eu.bitwalker.useragentutils.UserAgent; */ public class LogUtils { - //采用线程池优化性能 + // 采用线程池优化性能 private static ExecutorService logThreadPool = new ThreadPoolExecutor(5, 20, 60L, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new DefaultThreadFactory("log-save")); @@ -113,19 +113,19 @@ public class LogUtils { } // 异步保存日志 - logThreadPool.submit(new SaveLogTask(log, handler, request.getContextPath(), throwable)); + logThreadPool.submit(new SaveLogThread(log, handler, request.getContextPath(), throwable)); } /** * 保存日志线程 */ - public static class SaveLogTask extends Thread{ + public static class SaveLogThread extends Thread{ private Log log; private Object handler; private String contextPath; private Throwable throwable; - public SaveLogTask(Log log, Object handler, String contextPath, Throwable throwable){ + public SaveLogThread(Log log, Object handler, String contextPath, Throwable throwable){ this.log = log; this.handler = handler; this.contextPath = contextPath;