0
현재 log4j를 2 개의 appender로 구성하려고합니다. 디버그 정보는 로그에 보내야하며 즉시 처리 할 수 있도록 이메일 주소로 오류를 보내야합니다. 당분간 동일한 log4j 파일에 여러 개의 appender가 있습니다.
내 특성 파일은 다음과 같습니다 어떤 이유log4j.category.myCategory=DEBUG, myLogAppender
log4j.category.myCategory=ERROR, myEmailAppender
# myLogAppender is set to be a FileAppender.
log4j.appender.myLogAppender=org.apache.log4j.RollingFileAppender
log4j.appender.myLogAppender.File=d:/myLogs.log
log4j.appender.myLogAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myLogAppender.layout.ConversionPattern=%-4r [%t] %-5p %c - %m%n
log4j.appender.myLogAppender.MaxFileSize=100KB
log4j.appender.myLogAppender.MaxBackupIndex=1
# myEmailAppender is set to be a EmailAppender.
log4j.appender.myEmailAppender=org.apache.log4j.net.SMTPAppender
log4j.appender.myEmailAppender.BufferSize=1
log4j.appender.myEmailAppender.SMTPHost=myHost
[email protected]
log4j.appender.myEmailAppender.Subject=Error in the module
[email protected]
log4j.appender.myEmailAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myEmailAppender.layout.ConversionPattern=%-4r An error occured in the module. Please refer the myLogs.log on the server to get more details. The message was: [%t] %-5p %c - %m%n
는 log4j에 단지이 구성 메일을 보냅니다. 두 번째 줄을 주석 처리하자마자 log4j가 로그 파일에 추가되기 시작합니다.
내가 뭘 잘못 했니? 로그에 도착하기위한 디버그 정보와 메일에 대한 오류를 어떻게 얻을 수 있습니까?
답변 해 주셔서 감사합니다. 이제는 레벨에 따라 다른 파일에 로그인합니다. 카테고리별로 필터링하는 방법을 알고 있습니까? – Jaepetto
"범주별로 필터링"이란 무엇을 의미합니까? 귀하의 예제에서 단 하나의 카테고리 (실제로는 "로거"라고 부름)를 사용했습니다. 하나 이상의 로거/카테고리를 사용하여 다른 대상에 로그인 할 수 있습니다. –
네가 옳다. 나의 예는 하나의 카테고리 만 보여준다. 프레임 워크의 다른 부분에서도 log4j도 사용하고있는 것으로 나타났습니다. 당신이 말했듯이, 나는 하나의 로거를 추가했고 모든 것이 부드럽습니다. 감사. – Jaepetto