왜 다중 로거를 더 자세히 설명 할 수 있는지 설명 할 수 있습니까? 여러 개의 log4j 인스턴스를 가질 수 있다고 생각하지 않습니다. 그냥 여러 펜더를 원하는 경우에
, 이쪽을 봐 :
# logj4.properties
log4j.rootCategory = WARN, A
log4j.category.com.lewscanon = WARN, F
log4j.category.com.lewscanon.mouser = DEBUG, X
log4j.appender.A = org.apache.log4j.ConsoleAppender
log4j.appender.A.layout = org.apache.log4j.PatternLayout
log4j.appender.F = org.apache.log4j.RollingFileAppender
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.File = /projects/mouser/logs/lewscanon.log
log4j.appender.F.MaxFileSize = 512KB
log4j.appender.F.MaxBackupIndex = 2
log4j.appender.X = org.apache.log4j.RollingFileAppender
log4j.appender.X.layout = org.apache.log4j.PatternLayout
log4j.appender.X.File = /projects/mouser/logs/mouser.log
log4j.appender.X.MaxFileSize = 512KB
log4j.appender.X.MaxBackupIndex = 2
log4j.appender.A.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n
log4j.appender.F.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n
log4j.appender.X.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n
이 라인 :
은 위의 링크에서 log4j.properties를의
log4j.rootCategory = WARN, A
log4j.category.com.lewscanon = WARN, F
log4j.category.com.lewscanon.mouser = DEBUG, X
다음과 같이 말하십시오.
- 모든 것을 콘솔 (콘솔) A에 기록하십시오. 로그 경고 이상에만 해당
- com.lewscanon 패키지에서 appender F (모든 파일을 lewscanon.log 파일로 이동)에 모든 것을 기록하십시오. 로그 경고 이상에서만
- com.lewscannon.mouser 패키지에서 appender X (모든 파일은 mouser.log로 이동)까지 모든 것을 기록하십시오. 만 디버그 및
위를 기록 그것은 전체 클래스 이름을 제공 할 수도 있습니다
log4j.category.com.lewscanon.SomeClass = WARN, F
수단이 F를 펜더하는 com.lewscanon.SomeClass
클래스에서 모든 로그 수준은 위의 경고합니다.
Logger.getLogger(String name)
받아들이 : 당,
나는 위에서 충분히 세분화 겠지,하지만 당신은 절대적으로 필요한 경우가 더 세분화 (나는 그래도 충분히 실용적인 생각하지 않습니다) 이름. 그래서 당신은 같은 것을 수행 할 수 있습니다
log4j.category.myFancyLogger = INFO, F
및 레벨 정보와 F를 펜더을 기록 로거를 얻을 수 Logger.getLogger("myFancyLogger")
를 사용합니다.
귀하의 링크를 보았습니다. 하지만 어떻게 로그 위치를 앞뒤로 바꿀 수 있습니까? 내 말은 한 가지 log4j 인스턴스를 사용하고 다른 방법으로 다른 파일에 로그를 남기고 어떤 방법으로 한 파일에 로그하는 것을 의미합니다. 어떤예요? – Kavin
편집을 참조하십시오. 충분히 세밀 해지기를 바랍니다. –
그것은 작동합니다. 고마워요 – Kavin