天天看点

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

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

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

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

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

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

查看方法findUserSpecifiedLogClassName:

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

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

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

这里就是我配置的SimpleLog。