0
我目前正在尝试配置log4j以使用2个appender。调试信息应发送至日志,并且应将错误发送至电子邮件地址以便立即处理。多个appender在同一个log4j文件中
暂且,我的属性文件看起来如下:
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
[email protected]
log4j.appender.myEmailAppender.Subject=Error in the module
[email protected]
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就开始追加到日志文件。
我做错了什么?如何获取调试信息以获取日志和错误信息?
感谢您的回答。它现在根据级别登录到不同的文件。你知道如何按类别过滤吗? – Jaepetto
什么意思是“按类别过滤”?在您的示例中,您只使用了一个类别(现在实际上称为“记录器”)。您可以使用另一个记录器/类别登录到另一个目标。 –
你是对的我的例子只显示一个类别。我只注意到框架的其他部分也使用log4j。正如你所说,我添加了一个记录器,现在一切都很顺利。谢谢。 – Jaepetto