스프링 인터셉터를 이용하여 log4j 설정


1. 적당한 곳에 패키지 생성 후 클래스 만들어 줌 interceptor로 사용


클래스명 :LoggerInterceptor 

패키지위치 :com.spring.common.logger



소스


public class LoggerInterceptor extends HandlerInterceptorAdapter {

    

protected Log log = LogFactory.getLog(LoggerInterceptor.class);


    @Override

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

        if (log.isDebugEnabled()) {

        log.debug("======================================          START         ======================================");

        log.debug(" Request URI \t:  " + request.getRequestURI());

        }

        return super.preHandle(request, response, handler);

    }

     

    @Override

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

        if (log.isDebugEnabled()) {

        log.debug("======================================           END          ======================================\n");

        }

    }

}





2. servlet-context.xml 파일 수정하여 인터셉터 추가 및 맵핑 



<!--인터셉터 설정 -->

     <mvc:interceptors>

        <mvc:interceptor>

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

            <beans:bean id="loggerInterceptor" class="com.spring.common.logger.LoggerInterceptor" />  

        </mvc:interceptor>

    </mvc:interceptors>



<mvc:interceptors> 가 안먹히고 오류가 한참 뜨는데 이유를 모르겠더이다  나중에 알고 보니 

servlet-context.xml파일 최상위에 beans:bean에 mvc를 정의해주지 않아서였음 

 xmlns:mvc="http://www.springframework.org/schema/mvc"

이거 추가해야 인터셉터 설정이 정상적으로 됨 



<?xml version="1.0" encoding="UTF-8"?>

<beans:beans xmlns="http://www.springframework.org/schema/mvc"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:beans="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">




3. controller 에 

로그 남겨주면 잘 나온다...




친절한 블로그들 많으니까 자세한건 다른 블로그 가서 보길..

http://addio3305.tistory.com/43




내가 가장 헤멘 부분은 


2. servlet-context.xml 파일 수정하여 인터셉터 추가 및 맵핑 



<!--인터셉터 설정 -->

     <mvc:interceptors>

        <mvc:interceptor>

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

            <beans:bean id="loggerInterceptor" class="com.spring.common.logger.LoggerInterceptor" />  

        </mvc:interceptor>

    </mvc:interceptors>



xml파일 최상단에 mvc 추가 되어있는지 확인하고 작업하길 바랍니다.



이거 제외하면 어려울게 없다 


정리 개떡같이 못한다.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


컨셉 잘 잡은듯 ㅋㅋㅋ










+ Recent posts