Exemple #1
0
  @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);
    }
  }