【发布时间】:2017-02-27 08:22:34
【问题描述】:
我正在维护一个使用带有大型代码库的 log4j 1.x 的 Maven 项目。 log4j 1.x 不仅在现有代码中使用,它还被项目所依赖的一些第三方库使用。
我现在想开始使用 log4j 2,但不知道这是否值得。
我知道可以将两者混合使用(参见Mixing log4j 1.x and log4j 2),但是依赖 log4j 1.x 的第三方库呢,恐怕会发生冲突。
所以我应该坚持使用 log4j 1.x 还是升级到 log4j 2 冒着依赖地狱的风险?
【问题讨论】:
-
只有你才能权衡 log4j 2 的优点与 “依赖地狱”的缺点。我们可能对此都有意见,但我们不知道您的项目和要求。投票结束时“主要基于意见”。
-
@Andreas 客观地说:我的项目是否有可能依赖 log4j 2 和 log4j 1.x 上的第三方库而不会产生冲突?这不是意见问题,而是事实,不是吗?
-
事实上,如果您阅读了您链接的问题的答案以及 Log4j 1 到 Log4j 2 桥的文档,您就会知道该桥将重定向所有Log4j 1 调用 Log4j 2 实现,因为这就是桥接器的作用。只要您排除任何实际的 Log4j 1 实现,就不会有冲突。排除 Log4j 1 的 “依赖地狱” 是否值得 Log4j 2 的功能,如前所述,由您决定,并且完全基于意见。
标签: java maven logging log4j log4j2