0

我目前正在尝试将 log4j 配置为使用 2 个附加程序。调试信息应发送至日志,错误应发送至电子邮件地址以便立即处理。

目前,我的属性文件如下所示:

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
log4j.appender.myEmailAppender.From=error@mydomain.com
log4j.appender.myEmailAppender.Subject=Error in the module
log4j.appender.myEmailAppender.To=error@mydomain.com
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 就开始追加到日志文件中。

我做错什么了?如何获取调试信息以获取日志并将错误发送到邮件?

4

1 回答 1

0

您应该使用某种过滤器,该过滤器使用有关您的任务级别的信息。但是只有 XML(不是属性文件)类型的配置支持使用过滤器。有关详细信息,请参阅:http ://wiki.apache.org/logging-log4j/LogToAppenderByLevel

于 2012-09-17T05:22:31.720 回答