Apache HttpClient库里的日志实现检测原理

我有一个业务类,里面指定了org.apache.commons.logging.impl.SimpleLog作为日志记录的实现。代码如下。

public SimpleContactCreator(){
		enableHeaderWireAndContextLogging();
	}
	
	private void enableHeaderWireAndContextLogging(){
		System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
		System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
		System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire.header", "debug");
		System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "debug");
	}

在运行时,这个SimpleLog的实现是如何被HttpClient检测出来的?

当我调用HttpClientBuilder.create().build()的时候,log检测就发生了:
clipboard1

查看方法findUserSpecifiedLogClassName:

clipboard2

从system property里取属性org.apache.commons.logging.Log的值:

clipboard3

这里就是我配置的SimpleLog。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

展开阅读全文
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值