如何处理log4j2 JDBCAppender异常?

时间:2014-01-24 02:25:20

标签: java log4j2

我在我的项目中使用Log4j 2将子日志写入数据库表。基于某些MDC密钥/值对来识别这些事件。 我担心的是这个appender可以从它的append方法抛出的未经检查的LoggingException。这些数据库日志是在异步,事务处理过程中生成的,我不希望主进程受到appender引发的潜在异常的影响。 我应该如何照顾它?我应该将基于配置的appender移动到自定义appender吗?是否保证在日志事件追加错误的情况下,appender不会回滚我的业务流程?

事先知道

1 个答案:

答案 0 :(得分:1)

假设您使用的是JDBCAppender,我依赖于两件事:

  • 您是否与log4j共享应用程序的数据库连接?默认情况下,您不是。事实上,你必须非常努力地完成这一任务。因此,日志记录连接上的故障不会影响业务数据库连接上的事务。
  • 如果您正在共享JDBC连接,那么它取决于该连接的autoCommit设置。如果autoCommit为true,则即使在同一连接上,日志记录错误也不会影响业务事务。
相关问题