使用 Log4j2 公开 Http 客户端日志的问题



通过 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 中传递同样的东西,但没有结果。

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

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

Log4j2 分为 api 和核心模块(而 log4j1 是 monolitihic)。 添加网桥依赖项时,仅传递拉入 log4j2 api,但没有实际的日志记录引擎(log4j-core模块)。

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

最新更新