我正在尝试在我的项目中使用Apache HTTPClient
。此处不需要此应用程序的任何日志记录。我可以在没有HTTPClient
的情况下使用Commons-logging.jar
吗?否则,这对我的发行包来说将是一个额外的不必要的负担。
答案 0 :(得分:18)
是的,你可以。正如Hannes所说 - 这是我自己的HttpClient maven设置:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.1</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
接下来,由于common-logging
确实是运行时依赖项,因此您需要为commons-logging
定义SLF4J桥:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.5</version>
</dependency>
最后,您当然需要有一个有效的SLF4J配置 - 这是我的:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.11</version>
</dependency>
希望这会有所帮助。
答案 1 :(得分:4)
您可以将slf4j与JCL网桥一起使用。这会将JCL日志记录转发到slf4j。比添加像log back或log4j这样的slf4j适配器并正确配置它。
使用maven时,不要忘记排除JCL依赖项。