0

我目前通过 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 没有影响 :(。

4

1 回答 1

0

javadoc看来,这个 appender 使用了一个超级特殊的 TriggeringEventEvaluator 作为过滤机制。您可以通过使用始终返回 true 的评估器创建附加程序来解决此问题。不过我不确定。

于 2010-12-03T01:17:59.547 回答