728x90
반응형

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

728x90
반응형

'log4j' 카테고리의 다른 글

log4j2 setting  (0) 2014.11.03
log4j2  (0) 2014.10.27
[log4j] Conversion Pattern  (0) 2014.01.06
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,