【问题标题】:Remove direct dependency on 'Log4j 2'删除对“Log4j 2”的直接依赖
【发布时间】:2020-02-20 09:54:04
【问题描述】:

1) 我创建了 log4j2 的包装器并使用了:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.12.1</version>
    </dependency>

2) 现在,在使用它的应用程序中,我添加了:

   <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.12.1</version>
    </dependency>

3) 基于第 2 点构建的另一个应用程序使用 logBack 来记录消息。它还使用 log4j2 来记录消息。

从logBack登录时,可以登录控制台,但是从log4j2登录时,会抛出错误:

执行 LogManager 时缺少所需的类。

应该怎么做?

【问题讨论】:

标签: java log4j2


【解决方案1】:
  • Lo​​g4j2 是 logback 的继承者。你为什么同时使用两者。这可能会导致问题。
  • 最好使用 slf4j 日志外观,它在运行时确定底层日志后端。 http://www.slf4j.org/

【讨论】:

  • 针对 slf4j 编码意味着你不能使用 log4j2 的所有功能。对 log4j2 进行编码并不意味着您被锁定在使用 log4j2,因为有一个 bridge to sl4j
猜你喜欢
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 2011-09-28
相关资源
最近更新 更多