我目前正在尝试配置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就会开始追加到日志文件中。
我做错了什么?如何获取调试信息以获取日志和错误邮件?
答案 0 :(得分:0)
您应该使用某种过滤器来使用有关任务级别的信息。但是,只有XML(非属性文件)类型的配置才支持使用过滤器。有关详细信息,请参阅:http://wiki.apache.org/logging-log4j/LogToAppenderByLevel