2

log4jがメールアペンダーと組み合わせて使用​​される多くのサービスアプリケーションでは..

log4j.rootLogger=ERROR, MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.BufferSize=1
log4j.appender.MAIL.SMTPHost=smtp.example.com
log4j.appender.MAIL.From=noreply@example.com
log4j.appender.MAIL.To=developer@example.com
log4j.appender.MAIL.Subject=Exception
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5r %-5p [%t] %c{2} - %m%n

.. 同じタイプのいくつかの例外が発生する可能性があり、問題が解決されるまで継続する可能性が非常に高くなります。

メールが特定の時間間隔内にのみ送信されるように、出力をバッファリングする方法はありますか?

優れた解決策は、例外が発生したタイプとクラスで例外をグループ化することですが、単純にローカル ログに追加し、一定の間隔でロール ログを送信するだけで十分です。これは、負荷の高いシステムから数百または数千のエラー レポートを受信するのではなく、重要な情報を適時に受信し、その後のアクションに悩まされないようにすることを目的としています。

を実装せずに解決策はありTriggeringEventEvaluatorますか?

4

1 に答える 1

2

これを試すことができます: https://github.com/reaktor/log4j-email-throttle

シンプルですが、バッファリングには問題なく機能します。

于 2014-03-06T15:17:02.550 に答える