SpringCloud修改Feign日志記錄級別過程淺析
前言
本次示例代碼的文件結構如下圖所示。

1. 介紹
Feign 允許我們自定義配置,下面是 Feign 可以修改的配置。
| 類型 | 作用 | 說明 |
|---|---|---|
feign.Logger.Level | 修改日志級別 | 包含四種不同級別:NONE、BASIC、HEADERS、FULL |
feign.codec.Decoder | 響應結果的解析器 | HTTP 遠程調用的結果做解析,例如解析 JSON 字符串反序列化成 Java 對象 |
feign.codec.Encoder | 請求參數編碼 | 將請求參數編碼,便于通過 HTTP 請求發(fā)送 |
feign.Contract | 支持的注解格式 | 默認是 Spring MVC 的注解 |
feign.Retryer | 失敗重試機制 | 請求失敗的重試機制,默認是沒有,不過會使用 Ribbon 的重試 |
- 一般我們需要配置日志級別。NONE 是不記錄,BASIC 只記錄基本的 HTTP 請求信息,HEADERS 除了基本的 HTTP 信息外,還記錄請求頭;而 FULL 則是記錄完整的 HTTP 信息。換句話說,按日志完整程度從小到大排序為:NONE < BASIC < HEADERS < FULL 。
- 實際開發(fā)中,推薦使用 BASIC 。因為記錄日志會消耗一定的性能。
2. 方式一
配置文件
1)全局生效 order-service 的配置文件。
feign:
client:
config:
default: # 全局生效,所有微服務生效
logger-level: FULL
重啟 OrderApplication 生效,當在 Postman 發(fā)送了一次查詢請求后, OrderApplication 的控制臺就出現了全部的 HTTP 日志信息。

2)局部生效
feign:
client:
config:
userservice: # 只在遠程調用userservice這個微服務時才生效
logger-level: FULL
3. 方式二
Java代碼
在 OrderApplication 中創(chuàng)建 Feign 配置類 config/DefaultFeignConfiguration.java ,聲明 Bean 。
public class DefaultFeignConfiguration {
@Bean
public Logger.Level loggerLevel() {
return Level.BASIC;
}
}
該類沒有被 Spring 容器管理,因此不會生效。還需要進行下面的配置才能生效。
1)全局配置
在啟動類的 @EnableFeignClients 注解上添加參數,指定 Feign 的配置類。
@EnableFeignClients(defaultConfiguration = DefaultFeignConfiguration.class)
2)局部配置
放到 Feign 客戶端接口的注解 @FeignClient 之中。
@FeignClient(value = "userservice", configuration = DefaultFeignConfiguration.class)
到此這篇關于SpringCloud修改Feign日志記錄級別過程淺析的文章就介紹到這了,更多相關SpringCloud修改Feign日志內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- SpringCloud Hystrix熔斷器使用方法介紹
- SpringCloud Gateway動態(tài)路由配置詳解
- Spring?Cloud?Gateway遠程命令執(zhí)行漏洞分析(CVE-2022-22947)
- SpringSecurit鹽值加密的密碼驗證以及強密碼驗證過程
- Spring?Cloud?Alibaba實現服務的無損下線功能(案例講解)
- springcloud-gateway集成knife4j的示例詳解
- SpringCloud?Alibaba環(huán)境集成之nacos詳解
- Spring?Cloud?Ribbon?負載均衡使用策略示例詳解
- SpringCloud @RefreshScope刷新機制深入探究
- SpringCloud?@RefreshScope刷新機制淺析
- SpringCloud啟動失敗問題匯總
- 一文吃透Spring?Cloud?gateway自定義錯誤處理Handler
- SpringCloud Gateway路由組件詳解
- SpringCloud OpenFeign基本介紹與實現示例
- Spring Cloud Gateway替代zuul作為API網關的方法
- SpringCloud使用Feign實現遠程調用流程詳細介紹
- SpringCloud開啟session共享并存儲到Redis的實現
- Spring?Cloud原理以及核心組件詳解
相關文章
Java?Spring?boot日期和時間統(tǒng)一設置三種方法
時間和日期的統(tǒng)一設置在項目中經常是會遇到的,下面這篇文章主要給大家介紹了關于Java?Spring?boot日期和時間統(tǒng)一設置的三種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-08-08

