OpenFeign超時控制和OpenFeign日誌增強
阿新 • • 發佈:2021-11-10
如果消費者請求提供著介面時響應時間超過了1s,將會跳出錯誤Spring Boot預設錯誤頁面,主要異常:feign.RetryableException:Read timed out executing GET http://CLOUD-PAYMENT-SERVCE/payment/feign/timeout。
OpenFeign預設等待1秒鐘,超過後報錯
YML檔案裡需要開啟OpenFeign客戶端超時控制
#設定feign客戶端超時時間(OpenFeign預設支援ribbon)(單位:毫秒) ribbon: #指的是建立連線所用的時間,適用於網路狀況正常的情況下,兩端連線所用的時間 ReadTimeout: 5000 #指的是建立連線後從伺服器讀取到可用資源所用的時間 ConnectTimeout: 5000
日誌列印功能
Feign提供了日誌列印功能,我們可以通過配置來調整日恙級別,從而瞭解Feign 中 Http請求的細節。
說白了就是對Feign介面的呼叫情況進行監控和輸出
日誌級別
- NONE:預設的,不顯示任何日誌;
- BASIC:僅記錄請求方法、URL、響應狀態碼及執行時間;
- HEADERS:除了BASIC中定義的資訊之外,還有請求和響應的頭資訊;
- FULL:除了HEADERS中定義的資訊之外,還有請求和響應的正文及元資料。
配置日誌bean
@Configuration public class FeignConfig { @Bean Logger.Level feignLoggerLevel() { //設定日誌的顯示級別 return Logger.Level.FULL; } }
YML檔案裡需要開啟日誌的Feign客戶端
logging:
level:
# feign日誌以什麼級別監控哪個介面
com.peng.springcloud.service.PaymentFeignService: debug
展示的日誌資訊