天天看點

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。