2011-03-30 2 views
6

안녕하세요 저는 초보자이며 현재 Struts 1.2와 java를 사용하고 있습니다. 현재 Log4j를 로그 파일로 사용하고 있지만 SMTP Appender를 구현해야 오류가 이메일로 전송됩니다.Log4j SMTP Appender

나는 운이 좋으면 이메일로 보낼 수 있도록 모든 것을 시도했다. 아래는 log4j.properties 파일입니다.

제안 사항?

감사합니다. 뭔가가 ERROR or FATAL levels에 로그인 할 때 기본적으로

log4j.rootLogger= INFO, stdout, logfile, mail 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n 

# Keep three backup files 
log4j.appender.logfile.MaxBackupIndex=3 
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n 
log4j.appender.logfile=org.apache.log4j.RollingFileAppender 
log4j.appender.logfile.File=C:/LOGS/WIRE.log 
log4j.appender.logfile.MaxFileSize=2048KB 

#email appender 
log4j.appender.mail=org.apache.log4j.net.SMTPAppender 
log4j.appender.mail.BufferSize=1 
log4j.appender.mail.SMTPHost=smtp.serverhere.com 
[email protected] 
[email protected] 
log4j.appender.mail.Subject=Application Error 
log4j.appender.mail.threshold=error 
log4j.appender.mail.layout=org.apache.log4j.PatternLayout 
log4j.appender.mail.layout.ConversionPattern=%d %p [%c] - <%m>%n 


# Hibernates use of the org.apache classes spews out stuff like mad. 
log4j.logger.org.apache=INFO 

# Springframework is very talkative too. 
log4j.logger.org.springframework=INFO 

# acegisecurity 
#log4j.logger.org.acegisecurity = INFO 

# Quartz trigger checking 
log4j.logger.org.quartz.impl.jdbcjobstore=INFO 
#log4j.logger.org.springframework.scheduling.quartz=INFO 

답변

5

는 펜더는 단지 이메일을 보냅니다. 참고로 임계 값 속성이 부적절한 것으로 보입니다. 저는 믿습니다 :

log4j.appender.mail.threshold=error 

log4j.appender.mail.Threshold=error 

편집 ...

의 log4j는 log4j.debug configuration property을 구성하여 디버그 모드로 전환 할 수 있어야한다. 이것은 SMTP appender에 관한 일부 출력을 제공 할 수 있습니다.

+0

나는 ERROR 또는 Fatal 레벨의 이메일을 보내려고 노력 중이다. 나는 당신의 제안을 시도했지만 도움이되지 않았습니다. 디버깅 목적으로 log4j에 대한 모든 유형의 로그가 있습니까? – Brian

+1

@Brian "디버그"모드에 대한 정보를 추가했습니다. 우리는 최근 Logback (또한 Ceki Gülcü가 쓴 것)으로 전환했습니다. 몇 달 동안 사용해 본 결과, log4j보다 더 선호합니다. http://logback.qos.ch/reasonsToSwitch.html –

0

오류 수준에서 루트 로거를 정의하고 선택한 패키지에 대해이를 무시하십시오. 메일 첨부자는 오류 수준으로 유지됩니다.

# Log appenders 
#log4j.rootLogger=INFO, CONSOLE 
log4j.rootLogger=ERROR, FILE, MAIL 

# Log levels 
log4j.logger.com.example.application=INFO 
log4j.logger.com.example.application.package=DEBUG 


# CONSOLE 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5r %-5p [%t] %c{2} - %m%n 
log4j.appender.CONSOLE.Encoding=UTF-8 


# FILE 
log4j.appender.FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.File=/tmp/application.log 
log4j.appender.FILE.MaxFileSize=1000KB 
log4j.appender.FILE.MaxBackupIndex=99 
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5r %-5p [%t] %c{2} - %m%n 
log4j.appender.FILE.Encoding=UTF-8 


# MAIL 
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.BufferSize=1 
log4j.appender.MAIL.SMTPHost=smtp.example.com 
[email protected] 
log4j.[email protected] 
log4j.appender.MAIL.Subject=Exception in Application 
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5r %-5p [%t] %c{2} - %m%n 
관련 문제