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