您好,我是新手,我目前正在编写的应用程序使用 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
最佳答案
默认情况下,appender 仅在 ERROR or FATAL levels 记录内容时才发送电子邮件. 作为旁注,您的 threshold 属性似乎大小写不正确。我相信:
log4j.appender.mail.threshold=error
应该是
log4j.appender.mail.Threshold=error
编辑...
可以通过配置 log4j.debug configuration property 将 Log4j 置于 Debug模式.这可能会提供一些关于 SMTP appender 的输出。
关于java - Log4j SMTP 附加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5489328/