Struts 2 에서 로그 레벨 설정
Struts 2를 기반으로 웹사이트 개발시에 한개의 기능을 테스트할 때마다 화면에 출력된 결과를 보기 위해서는 인내심을 필요로 한다.
개발에 도움이 되는 디버깅 메시지를 콘솔화면에 출력하기 위해서 많은 시간을 사용하고 있는데, 그 내용을 보면 대부분 OGNL, FreeMarker 와 관련한 내용이며 이런 내용은 테스트시 최초에 한번만 확인하면 되므로 이후에는 log4j.properties 파일의 설정을 변경하여 로그 레벨을 DEBUG 가 아닌 ERROR으로 설정하면 요청 후에 응답을 확인하는데 소비되는 시간을 절약할 수 있다.
Struts-blank.war 파일을 임포트하여 Eclipse 에서 스트러츠 프로젝트를 생성한 경우에는 프로젝트 안의 Java Resources / src 아래에 log4j.properties 파일이 있는데 이 파일을 Eclipse 에서 열고 아래와 같이 편집하면 된다
log4j.properties
#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
# 1. DEBUG (the least serious)
# 2. INFO
# 3. WARN
# 4. ERROR
# 5. FATAL (the most serious)
# Set root logger level to WARN and append to stdout
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n
# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL
#log4j.logger.com.opensymphony.xwork2=DEBUG
#log4j.logger.org.apache.struts2=DEBUG
log4j.logger.com.opensymphony.xwork2=ERROR
log4j.logger.freemarker.cache=ERROR
log4j.logger.freemarker.beans=ERROR
log4j.logger.org.apache.struts2=ERROR