【问题标题】:Issues exposing Http Client logs with Log4j2使用 Log4j2 公开 Http 客户端日志的问题
【发布时间】:2019-05-27 09:01:10
【问题描述】:

通过 Log4j2 公开 HTTP 客户端日志的问题。 我能够使用 log4j v1 公开日志,但它不适用于 log4j2。

检查了 http 客户端 v4 的事务依赖关系,它使用通用日志记录。所以我在运行时通过了 log4j-jcl.jar,因为它是一个桥。但它不起作用

使用的依赖项:

Http 依赖:

<dependency>
                <groupId>com.dictao.util</groupId>
                <artifactId>dictao-util-net</artifactId>
                <version>${dictao.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.6</version>
           </dependency>
           <dependency>
            <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>4.5.6</version>
           </dependency>

桥依赖:

<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-jcl</artifactId>
  <version>2.11.2</version>
<scope>runtime</scope>
</dependency> 

对于 Log4j1:

log4j.logger.org.apache.http.impl.conn=DEBUG 
log4j.logger.org.apache.http.impl.client=DEBUG 
log4j.logger.org.apache.http.client=DEBUG 
log4j.logger.org.apache.http=DEBUG 

在 Log4j2 中传递同样的东西,但没有结果。

输出:没有错误,也没有生成日志文件。

【问题讨论】:

    标签: java maven http log4j2 apache-httpclient-4.x


    【解决方案1】:

    您需要将log4j-core 添加到您的依赖项中

    Log4j2 分为 api 和核心模块(而 log4j1 是单体的)。 当你添加你的桥依赖时,你只传递了 log4j2 api,但没有实际的日志引擎(log4j-core 模块)。

    支持我的话:http://central.maven.org/maven2/org/apache/logging/log4j/log4j-jcl/2.11.2/log4j-jcl-2.11.2.pom

    【讨论】:

      猜你喜欢
      • 2014-01-09
      • 2018-05-22
      • 2021-08-28
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2020-07-07
      • 1970-01-01
      相关资源
      最近更新 更多