嗨,我是一个新手,我目前编写的应用程序使用struts 1.2和java.我们目前使用Log4j作为日志文件,但我需要实现SMTP Appender,以便我们的错误通过电子邮件发送给我们.
我已经尝试了一切,以便通过电子邮件发送错误,没有运气.下面是我们的log4j.properties文件.
有什么建议?
谢谢!
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
log4j.appender.mail.From=johndoe@serverhere.com
log4j.appender.mail.To=johndoe@serverhere.com
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
Run Code Online (Sandbox Code Playgroud)
默认情况下,appender仅在ERROR或FATAL级别记录某些内容时才发送电子邮件.作为附注,似乎您的阈值属性可能具有不正确的情况.我相信:
log4j.appender.mail.threshold=error
Run Code Online (Sandbox Code Playgroud)
应该
log4j.appender.mail.Threshold=error
Run Code Online (Sandbox Code Playgroud)
编辑...
通过配置log4j.debug配置属性,可以将Log4j置于调试模式.这可能会提供有关SMTP appender的一些输出.