我正在尝试将应用程序从 log4j v1.2 迁移到 v2.17。在该应用程序中,他们通过导入在 Java 中使用 JDBCAppender,并将其扩展为一个类并执行一些操作。 我们如何使用 2.17 来做到这一点?他们使用连接、缓冲区等字段,这些字段在 1.2 中可用,但在 2.17 中不可用。由于值是动态的,我们如何设置它?
JDBCAppender 无法映射到 Log4j 2 的 JdbcAppender。你必须重写它。
配置有数据源的 JDBC Appender 需要 JNDI 支持。
要允许它,您需要将其添加到配置中:
log4j2.enableJndiJdbc=true
2.x 版本中有更多关于 JDBC Appender 的信息: https://logging.apache.org/log4j/2.x/manual/appenders.html#jdbcappender
我还会阅读此迁移指南: https://logging.apache.org/log4j/2.x/manual/migration.html