同一个log4j文件中的多个appender

时间:2012-09-13 19:55:22

标签: log4j rollingfileappender smtpappender

我目前正在尝试配置log4j以使用2个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
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就会开始追加到日志文件中。

我做错了什么?如何获取调试信息以获取日志和错误邮件?

1 个答案:

答案 0 :(得分:0)

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