我正在维护一个使用log4j 1.x和大代码库的Maven项目。 log4j 1.x不仅在现有代码中使用,它还被项目所依赖的某些第三方库使用。
我现在想开始使用log4j 2,但我想知道这是否值得麻烦。
我知道可以混合两者(参见Mixing log4j 1.x and log4j 2)但是依赖于log4j 1.x的第三方库怎么样,我担心会有冲突。
那么我是否应该坚持使用log4j 1.x或者通过升级到log4j 2来冒险依赖地狱?
答案 0 :(得分:4)
我自己也是这样做的。我认为不会有任何问题。 甚至我所做的项目都有第三方图书馆。
您可以简单地使用log4j-1.2-api-2.x.jar。 删除旧的log4j-1.2.x.jar并替换为以下三个jar:
此外,对于您自己的代码,您可以按照迁移步骤开始使用log4j2 api,第三方库将继续使用较旧版本和较新版本之间的桥接,即log4j-1.2-api-2.x.jar(又名log4j 1) .x桥)
以下是官方文档:
答案 1 :(得分:1)
似乎自从@Nitin回答这个问题后,命名也许发生了变化。根据{{3}},Maven依赖是:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.2</version>
</dependency>
</dependencies>