2016년 10월 11일 화요일

스프링(Spring) 개발하기 - (6) Log4j 및 Interceptor 설정

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창만 확인하면 된다. 아래와 같은 그림이 나오면 성공이다.






Share:

0 개의 댓글:

댓글 쓰기