1. 程式人生 > 其它 >OpenFeign超時控制和OpenFeign日誌增強

OpenFeign超時控制和OpenFeign日誌增強

如果消費者請求提供著介面時響應時間超過了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

展示的日誌資訊