spring 차단 기 를 사용 하여 로그 관리 인 스 턴 스 를 실현 합 니 다.

3521 단어 spring차단기
Handler Interceptor 차단 기 를 사용 하면 요청 을 차단 하고 일반적인 로그 관리 작업 을 수행 할 수 있 습 니 다.
 1.차단기 류 추가
"src/main/java"코드 폴 더 의"org.xs.demo 1"패키지 아래 새"LogInterceptor.java"클래스:

package org.xs.demo1;

import java.text.SimpleDateFormat;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.core.NamedThreadLocal;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView; 

/**

 *      

 * @author ThinkGem

 */

public class LogInterceptor implements HandlerInterceptor {
  private final Logger log = LoggerFactory.getLogger(getClass().getName());

  private static final ThreadLocal<Long> startTimeThreadLocal = new NamedThreadLocal<Long>("ThreadLocal StartTime");
  /** 

   *    

   */

  @Override

  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

     

    long beginTime = System.currentTimeMillis(); //     

    startTimeThreadLocal.set(beginTime); //      (              ) 

    log.info("    : {}", new SimpleDateFormat("hh:mm:ss.SSS").format(beginTime));

     

    return true;

  }

  /**

   *     

   */

  @Override

  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    if (modelAndView != null){

      log.info("ViewName: " + modelAndView.getViewName());

    }

  }

  /**

   *    

   */

  @Override

  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    //     

    //LogUtils.saveLog(request, handler, ex, null);     

    //       

    log.info("    :" + request.getRequestURI() + ",    :" + request.getMethod());

    long beginTime = startTimeThreadLocal.get(); //           (    ) 

    long endTime = System.currentTimeMillis(); //     

    log.info("    :{}", new SimpleDateFormat("hh:mm:ss.SSS").format(endTime)); 

  }
} 
2.프로필 수정
spring-mvc.xml 부품 수정,가입:

<!--       -->

<mvc:interceptors>

  <mvc:interceptor>

    <mvc:mapping path="/**" />

    <bean class="org.xs.demo1.LogInterceptor" />

  </mvc:interceptor>

</mvc:interceptors> 
3.테스트 실행
접근"http://localhost:8080/demo1/hello/list2주소

차단기 에서 출력 한 로그 정 보 를 볼 수 있 습 니 다.
인 스 턴 스 코드 주소:spring-HandlerInterceptor_jb51.rar
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기