2011-03-24 9 views
0

다른 파일에 로그를 쓰려고합니다. 다른 방법으로 다른 파일에 쓸 수 있기를 원합니다. 방법 A에 예외가 있다고하면 파일 A에 씁니다 ... 방법 B에 예외가있는 경우 파일 B에 쓰십시오. Google에서 도움말을 읽지 만 모두 디버그, 추적 등을 권합니다. 내 메시지는 모두 오류 메시지이며, 방법은 다릅니다. log4j에 대한 등록 정보 파일을 사용하고 있습니다. 이것은 같은 모습입니다 :log4j를 사용하여 다른 로그 파일 만들기

log4j.rootLogger=ERROR, ROOT 
log4j.appender.ROOT=org.apache.log4j.RollingFileAppender 
log4j.appender.ROOT.File=(**my_path**)\EmailIntegration.log 
log4j.appender.ROOT.MaxFileSize=1000KB 
log4j.appender.ROOT.MaxBackupIndex=5 
log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROOT.layout.ConversionPattern=[%d] %t %c %-5p - %m%n 
log4j.logger.com.webage.ejbs=INFO 

답변

3
  1. log4j.rootLogger을 정의합니다.
  2. rootLogger를 appender로 구성하십시오.
  3. 클래스 로깅해야하는 루트 로거를 정의하십시오.

예 (내 루트 로거 stdout, infoout, debugout, errorout입니다).

#---This is the configuration file for Log4J--- 
log4j.threshold=ALL 
log4j.rootLogger=ALL, stdout, infoout, debugout, errorout 

은 그 때 나는

#--Log settings for infoout 
log4j.appender.infoout=org.apache.log4j.RollingFileAppender 
log4j.appender.infoout.file=C:/Logs/Music4Point0.info.log 
log4j.appender.infoout.MaxFileSize=10240KB 
log4j.appender.infoout.MaxBackupIndex=10 
log4j.appender.infoout.layout=org.apache.log4j.PatternLayout 
log4j.appender.infoout.layout.ConversionPattern=%d{dd-MMM-yyy HH:mm:ss,SSS} [%t] %-5p %c - %m%n 
log4j.appender.infoout.Threshold=INFO 

지금, 나는 모든 org.hibernate.* 클래스 DEBUG 임계 값 및 infoout 로거에 로그인해야했다 (예를 들어 infoout) 각 로거를 정의했다.

log4j.logger.org.hibernate=DEBUG, infoout 
log4j.additivity.org.hibernate=false 

사용자 정의 로깅을 설정하는 방법은 log4J를 구성하는 방법입니다.

1

log4j에서 가장 정밀한 제어 수준은 클래스 수준입니다. 어쨌든, 당신은 두 가지 옵션이 있습니다

첫 번째 옵션, 단순한 하나를 각 방법에 대한 특별한 로거를 정의하는 것입니다 :

log4j.logger.LoggerForMethodA=ERRROR, APPENDERFORMETHODA 
log4j.logger.LoggerForMethodB=ERRROR, APPENDERFORMETHODB 

그리고 당신의 클래스

, 당신의 방법에 appropiate 로거를 사용합니다.

강력한 두 번째 옵션은 xml 구성 형식으로 전환하는 것입니다. 여기서 xml 구성 형식을 사용하면 각 추가 기능에 대한 필터를 정의 할 수 있으므로 이것이 최선의 방법이라고 생각합니다. XML 구성 형식에 the explanationhow to use filters in log4j을 확인하십시오. 그렇게하면 파일 당 하나의 appender를 정의하고 필터를 사용하여 예외가 적절한 파일로 전달되도록합니다. Filter, Logging EventLocationInfo

에 대한 javadocs를 살펴보십시오.
관련 문제