通过 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