繁体   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