在許多業務應用中log4j的組合使用與郵件的appender這樣..是否有可能將輸出緩存到Log4j Mail Appender?
log4j.rootLogger=ERROR, MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.BufferSize=1
log4j.appender.MAIL.SMTPHost=smtp.example.com
[email protected]
[email protected]
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
?
爲什麼不將錯誤記錄到文件中,並且有一個自定義腳本輪詢文件,以任何間隔/郵件發送郵件?這樣你就可以完全控制。你可以登錄到一個文件,並有一個cron作業不時郵寄日誌。我認爲直接登錄郵件並不是一個好主意。 – eis
通常你的建議是一個好主意,但它不是很靈活。如果我編寫一個服務,我希望將基本功能和配置捆綁在應用程序中,以便將它移動到另一個容器。 – Martin
我認爲它非常靈活,但你是對的,因爲它不會與應用程序捆綁在一起。我們長期以來一直使用這樣的解決方案,但是,我們並沒有將要發佈的產品編碼到我們自己的平臺上。 – eis