2012-10-02 48 views
5

我使用Log4j的SMTPAppender給我發電子郵件在每次例外,但我真的很喜歡它,以總郵件到一個郵箱與一批錯誤的,而不是爲每個錯誤一個電子郵件。log4j的SMTPAppender - 電子郵件多個錯誤消息

我已經看到了bufferSize變量,但似乎是所有類型的消息,而不僅僅是ERRORS。

有誰知道我可能會做到這一點?

感謝

回答

0

您可以使用:log4j.appender.myMail.evaluatorClass落實TriggeringEventEvaluator,這樣你可以通過編程決定何時/送什麼消息。請參閱:http://www.manning-sandbox.com/thread.jspa?threadID=9913瞭解更多詳情。

+0

我看看那個發送的所有郵件存在的例子,但我只想送錯誤和以上,並將它們彙總到一個電子郵件。如果可能的話,我可以從我的程序發送一個信號來發送電子郵件嗎? – user1628194

+0

使用自定義的TriggeringEventEvaluator將允許您在特定的日誌消息內容/級別上發送自定義電子郵件。 – dan

+0

我已經設法實現了這個...我在我的程序開始時將變量設置爲false,然後在程序結束時返回true。這個變量是在isTriggeringEvent()中檢查的...問題是我需要編寫自己的錯誤後設置變量爲true只是爲了觸發檢查isTriggeringEvent()。有沒有另一種方法可以讓我關閉電子郵件?如果我可以用信息消息替換錯誤消息,那將是一件好事。 – user1628194

0

嘗試添加/使用評估器例如下面的配置:

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

還設置有損屬性爲true與所需的緩衝區大小一起:

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

我剛剛嘗試過這種方式,但每發生一個錯誤,我仍然收到一封電子郵件。 – user1628194