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から、このアペンダーは非常に特別な TriggeringEventEvaluator をフィルタリング メカニズムとして使用しているように見えます。おそらく、常に true を返すエバリュエーターを使用してアペンダーを作成することで、これを修正できます。よくわかりませんが。

于 2010-12-03T01:17:59.547 に答える