tomcat의 web.xml에다가
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
추가한다.
당연히 log4j.properties 파일이 /WEB-INF 디렉토리에 있어야겠지.
자 그럼 log4j.properties이 아래에 갑니다.
참고로 이클립스에서 톰캣을 돌릴때는
<!-- Extra info begin -->
-Dlog4j.configuration=file:D:\EclipseTest\TTest\WEB-INF\classes\WEB-INF\classes\log4j.properties
<!-- Extra info end -->
아래처럼 넣어준다.
그럼 톰캣 server.xml에서는 Context 밑에 위와 같이 생긴다.
뭐 수동으로 해도 될거 같네..
# For the general syntax of property based configuration files see the
# documenation of org.apache.log4j.PropertyConfigurator.
# The root category uses the appender called A1. Since no priority is
# specified, the root category assumes the default priority for root
# which is DEBUG in log4j. The root category is the only category that
# has a default priority. All other categories need not be assigned a
# priority in which case they inherit their priority from the
# hierarchy.
#Layout 사용하기
#%m : 메세지 출력
#%p : priority 출력
#%r : 어플리케이션이 시작되어 로깅이벤트가 발생하는 시점까지의 경과시간을 밀리세컨드로 출력
#%c : category 출력
#%n : 개행문자 출력
#%d : 로깅이벤트가 일어나 날짜 출력 ( 프로그램의 실행속도를 느리게 한다.)
# 예) %d{HH:mm:ss} 또는 %d{dd MMMM yyyy HH:mm:ss}
#%C : 호출자의 클래스명 출력
#%M : 호출자의 메소드 출력
#%F : 호출자의 파일 이름 출력
#4.2. Appender 사용하기
#- ConsoleAppender 옵션
# Threadhole=WARN : category 의 priority가 더 낮게 지정되어 있더라도 여기 명시된 priority 보다 낮은 메세지들은 로깅하지 않는다.
# ImmediateFlush=true : 기본값은 true 로그메세지가 버퍼되지 않는다.
# Target=System.err : 기본값은 System.out
#- FileAppender 옵션
# Threadhole=WARN : category 의 priority가 더 낮게 지정되어 있더라도 여기 명시된 priority 보다 낮은 메세지들은 로깅하지 않는다.
# ImmediateFlush=true : 기본값은 true 로그메세지가 버퍼되지 않는다.
# File=testlog.txt : 로깅할 파일명
# Append=false : 기본값은 true이며, 파일끝에 추가하는 것을 의미한다.
#- RollingFileAppender 옵션
# Threadhole=WARN : category 의 priority가 더 낮게 지정되어 있더라도 여기 명시된 priority 보다 낮은 메세지들은 로깅하지 않는다.
# ImmediateFlush=true : 기본값은 true 로그메세지가 버퍼되지 않는다.
# File=testlog.txt : 로깅할 파일명
# Append=false : 기본값은 true이며, 파일끝에 추가하는 것을 의미한다.
# MaxFileSize=100KB : KB, MB, GB 의 단위를 사용, 지정한 크기에 도달하면 로그파일을 교체한다.
# MaxBackupIndex=5 : 최대 5개의 백업 파일을 유지한다.
#- DailyRollingFileAppend 옵션
# Threadhole=WARN : category 의 priority가 더 낮게 지정되어 있더라도 여기 명시된 priority 보다 낮은 메세지들은 로깅하지 않는다.
# ImmediateFlush=true : 기본값은 true 로그메세지가 버퍼되지 않는다.
# File=testlog.txt : 로깅할 파일명
# Append=false : 기본값은 true이며, 파일끝에 추가하는 것을 의미한다.
# DatePattern='.'yyyy-mm : 매월 파일을 교체한다. 교체주기는 월, 주, 일, 시간, 분 별로 정할 수 있다.
#---------------------------------------------------------------------
# Log4j 설정파일
# 두개의 Appender를 사용하여, 하나는 콘솔에, 하나는 파일에 로깅한다.
#---------------------------------------------------------------------
# root category의 레벨(priority)를 DEBUG로 설정한다.
log4j.rootCategory=INFO, stdout, file
#log4j를 설정하는 상세 정보 출력여부(true/false)
log4j.debug=false
#------------------------------
#첫번째 appender: 콘솔에 로깅
#------------------------------
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.ImmediateFlush=true
log4j.appender.stdout.Target=System.err
#출력 Layout설정 : 호출하는 파일명 출력
log4j.appender.stdout.layout.ConversionPattern=[%d] [%p] (%13F:%L) %3x - %m%n
#------------------------------
#두번째 appender : 파일에 로깅
#------------------------------
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.ImmediateFlush=true
log4j.appender.file.File=D:/testlog.txt
log4j.appender.file.Append=true
#파일명 패턴
log4j.appender.file.DatePattern = '.'yyyy-MM-dd
#출력 Layout설정 : 호출하는 시간, 파일명등 출력
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%p] (%13F:%L) %3x - %m%n
'log4j' 카테고리의 다른 글
log4j2 setting (0) | 2014.11.03 |
---|---|
log4j2 (0) | 2014.10.27 |
[log4j] Conversion Pattern (0) | 2014.01.06 |