我目前通过log4j发送电子邮件错误:
<appender name="email" class="org.apache.log4j.net.SMTPAppender">
<param name="SMTPHost" value="localhost"/>
<param name="From" value="notifications@mydomain.com"/>
<param name="To" value="me@mydomain.com"/>
<param name="Subject" value="Error from mydomain.com"/>
</appender>
效果很好,但我真的想偶尔从特定的日志文件中给我发电子邮件。这个其他日志文件,我甚至想要记录的INFO事件。我怎么做?如果我尝试设置另一个emailAppender,或者只是使用这个emailAppender,则没有任何内容可以通过电子邮件发送,因为似乎有一个ERROR或更糟糕事件的过滤器。所以我尝试添加LevelRangeFilter:
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="FATAL"/>
</filter>
但它对SMTPAppender没有影响:(。
答案 0 :(得分:0)
从javadoc看起来这个appender使用超级特殊的TriggeringEventEvaluator作为过滤机制。您可以通过使用始终返回true的赋值器创建appender来解决此问题。我不确定。