2012-10-02 19 views
5

log4jのSMTPAppenderを使用して各例外が発生したときにメールを送信していますが、エラーごとに1つの電子メールではなく、log4j SMTPAppender - 複数のエラーメッセージをメールで送信

私はbufferSize変数を見ましたが、エラーだけでなく、すべてのタイプのメッセージのように見えます。

どのように私はこれを達成するかもしれないか知っていますか?

おかげ

答えて

0

あなたが使用することができます。log4j.appender.myMail.evaluatorClassTriggeringEventEvaluator、どのようなメッセージを送信する際に/あなたがプログラムで決定することができ、このように実装します。詳細はhttp://www.manning-sandbox.com/thread.jspa?threadID=9913を参照してください。

+0

が、私は唯一送りたいですERROR以上に設定し、それらを1つの電子メールに集約します。可能であれば私のプログラムから電子メールを送信するというシグナルを送ることができますか? – user1628194

+0

カスタムTriggeringEventEvaluatorを使用すると、特別なログメッセージのコンテンツ/レベルでカスタムメールを送信できます。 – dan

+0

私は今これを実装することができました...私はプログラムの冒頭で変数をfalseに設定し、プログラムが終了するとtrueに設定しました。この変数はisTriggeringEvent()でチェックされています...問題はisTriggeringEvent()のチェックをトリガするために変数をtrueに設定した後で自分自身のエラーを記述する必要があることです。電子メールを消すための別の方法がありますか?私がそのエラーメッセージを情報メッセージに置き換えることができればよいでしょう。 – user1628194

0

評価者の追加/使用を試してみてください。以下の構成で:

<evaluator type="log4net.Core.LevelEvaluator"> 
    <threshold value="ERROR"/> 
</evaluator> 

また、希望のバッファサイズと一緒にtrueに非可逆属性を設定します。私はすべてのメッセージを送信するために動作しますが例を参照してください

<lossy value="true" /> 
<bufferSize value="xxxx" /> 
+1

私はこれを試しましたが、発生したエラーごとに1つの電子メールを受け取ります。 – user1628194

関連する問題