1. Log4j 설정
log4j.xml파일을 수정한다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p [%c] %m%n" />
</layout>
</appender>
<appender name="console-infolog" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="place" additivity="false">
<level value="debug" />
<appender-ref ref="console"/>
</logger>
<!-- Query Loggers -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="INFO"/>
<appender-ref ref="console-infolog"/>
</logger>
<logger name="jdbc.resultsettable" additivity="false">
<level value="INFO"/>
<appender-ref ref="console"/>
</logger>
<!-- Root Logger -->
<root>
<priority value="off"/>
<appender-ref ref="console" />
</root>
</log4j:configuration>
2. Interceptor 설정
2-1. src/main/java/ 패키지 내에 place 패키지와 common 패키지를 생성한다.2-2. LoggerInterceptor.java 파일을 생성하고 내용을 수정한다.
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
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");
}
}
}
3. 인터셉터와 log4j가 적용 됐는지 확인한다.
3-1. place.sample.controller 패키지를 만들고 testController.java 파일을 생성한다.
3-2. testController.java에 다음의 소스를 붙여넣는다.
@Controller
public class testController {
Logger log = Logger.getLogger(this.getClass());
@RequestMapping(value="/place/testList.do")
public ModelAndView openSampleList(Map commandMap) throws Exception{
ModelAndView mv = new ModelAndView("");
log.debug("인터셉터 테스트");
return mv;
}
}
3-3. index.jsp를 수정한다.
3-4. Tomcat Server 실행후 주소창에 localhost:8080/place 를 입력한다.
View를 지정하지 않았으니 404에러가 보일것이다.
이클립스 console창만 확인하면 된다. 아래와 같은 그림이 나오면 성공이다.
0 개의 댓글:
댓글 쓰기