@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; long start = 0; if (enabled && filter(req)) { start = System.currentTimeMillis(); } chain.doFilter(request, response); if (enabled && filter(req)) { long end = System.currentTimeMillis(); User user = OnlineUserService.getUser(req.getSession().getId()); ProcessTime logger = new ProcessTime(); logger.setUsername(user.getUsername()); logger.setUserIP(req.getRemoteAddr()); try { logger.setServerIP(InetAddress.getLocalHost().getHostAddress()); } catch (UnknownHostException ex) { LOG.error("保存日志出错(Error in saving log)", ex); } logger.setAppName(SystemListener.getContextPath()); String resource = req.getRequestURI().replace(logger.getAppName(), ""); logger.setResource(resource); logger.setStartTime(new Date(start)); logger.setEndTime(new Date(end)); logger.setProcessTime(end - start); LogQueue.addLog(logger); } }