根据使用Log4j 1.x桥文档“从Log4j 1.x迁移到2.x”:
如果应用程序满足以下要求,只需使用桥接器即可迁移,而无需进一步更改代码:它们不能通过调用Log4j 1.x类DOMConfigurator进行配置
我的应用程序使用DOMConfigurator.configureAndWatch()。
我刚刚从我的应用程序中删除了log4j1 jars,并添加了log4j2+Log4j 1.x桥jars。
我看不出伐木有什么问题。
有人能解释一下这种方法有什么问题吗?
发布于 2022-06-21 15:17:35
log4j-1.2-api的文档并不是最新的,在2.17.2版(cf )中添加了许多新特性。变化量g)。然而,并不是所有的东西都实现了,而且有些方法是没有操作的。
在您的具体示例中,DOMConfigurator#configureAndWatch(String)实际上并不监视文件中的更改,而带有附加long参数的版本使用了旧的FileWatchdog,在我的经验中,该FileWatchdog在关闭时表现很差。
更好的解决方案是将Log4j 1.xXML配置转换为Log4j2 XML配置,并使用monitorInterval请求检查文件以进行更新。基本上,“通过Log4j 1.x登录,通过Log4j2进行配置”是一种比使用Log4j 1.x "API“更好的方法。
https://stackoverflow.com/questions/72703051
复制相似问题