簡體   English   中英

如何處理log4j2 JDBCAppender異常?

[英]How to handle log4j2 JDBCAppender exceptions?

我在我的項目中使用Log4j 2將子日志寫入數據庫表。 基於某些MDC密鑰/值對來識別這些事件。 我擔心的是這個appender可以從它的append方法拋出的未經檢查的LoggingException。 這些數據庫日志是在異步,事務處理過程中生成的,我不希望主進程受到appender引發的潛在異常的影響。 我應該如何照顧它? 我應該將基於配置的appender移動到自定義appender嗎? 是否保證在日志事件追加錯誤的情況下,appender不會回滾我的業務流程?

事先說

假設您使用的是JDBCAppender,我依賴於兩件事:

  • 您是否與log4j共享應用程序的數據庫連接? 默認情況下,您不是。 事實上,你必須非常努力地完成這一任務。 因此,日志記錄連接上的故障不會影響業務數據庫連接上的事務。
  • 如果要共享JDBC連接,則它取決於該連接的autoCommit設置。 如果autoCommit為true,則即使在同一連接上,日志記錄錯誤也不會影響業務事務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM