首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spring项目中同时使用log4j2和log4j

在Spring项目中同时使用log4j2和log4j
EN

Stack Overflow用户
提问于 2020-03-17 22:39:28
回答 1查看 271关注 0票数 0

我有一个Spring Boot应用程序,它使用第三方库。该库使用log4j作为其记录器。当类路径中没有log4j时,我的应用程序无法启动,因为第三方库抛出一个指向缺少log4j的异常。为了处理这个问题,我决定使用log4j2而不是Spring的默认logback。为此,我在pom.xml中添加了以下内容

代码语言:javascript
复制
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

此外,为了允许第三方库工作,我还添加了:

代码语言:javascript
复制
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
        <scope>compile</scope>
    </dependency>

现在,第三方库可以工作了,但是,所有内容都被记录了两次。我该怎么处理呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-17 23:02:27

不是将log4j依赖项添加到您的项目中,而是将log4j 1.x桥添加到您的项目中,这将确保依赖于log4j的库在不知情的情况下实际与Log4j2一起工作。

因此,请确保删除旧的log4j 1.2依赖项,并添加以下依赖项:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.13.1</version>
</dependency>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60724597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档