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

1. 介紹
Feign 允許我們自定義配置,下面是 Feign 可以修改的配置。
| 類型 | 作用 | 說明 |
|---|---|---|
feign.Logger.Level | 修改日志級別 | 包含四種不同級別:NONE、BASIC、HEADERS、FULL |
feign.codec.Decoder | 響應(yīng)結(jié)果的解析器 | HTTP 遠程調(diào)用的結(jié)果做解析,例如解析 JSON 字符串反序列化成 Java 對象 |
feign.codec.Encoder | 請求參數(shù)編碼 | 將請求參數(shù)編碼,便于通過 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: # 全局生效,所有微服務(wù)生效
logger-level: FULL
重啟 OrderApplication 生效,當在 Postman 發(fā)送了一次查詢請求后, OrderApplication 的控制臺就出現(xiàn)了全部的 HTTP 日志信息。

2)局部生效
feign:
client:
config:
userservice: # 只在遠程調(diào)用userservice這個微服務(wù)時才生效
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 注解上添加參數(shù),指定 Feign 的配置類。
@EnableFeignClients(defaultConfiguration = DefaultFeignConfiguration.class)
2)局部配置
放到 Feign 客戶端接口的注解 @FeignClient 之中。
@FeignClient(value = "userservice", configuration = DefaultFeignConfiguration.class)
到此這篇關(guān)于SpringCloud修改Feign日志記錄級別過程淺析的文章就介紹到這了,更多相關(guān)SpringCloud修改Feign日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringCloud Hystrix熔斷器使用方法介紹
- SpringCloud Gateway動態(tài)路由配置詳解
- Spring?Cloud?Gateway遠程命令執(zhí)行漏洞分析(CVE-2022-22947)
- SpringSecurit鹽值加密的密碼驗證以及強密碼驗證過程
- Spring?Cloud?Alibaba實現(xiàn)服務(wù)的無損下線功能(案例講解)
- springcloud-gateway集成knife4j的示例詳解
- SpringCloud?Alibaba環(huán)境集成之nacos詳解
- Spring?Cloud?Ribbon?負載均衡使用策略示例詳解
- SpringCloud @RefreshScope刷新機制深入探究
- SpringCloud?@RefreshScope刷新機制淺析
- SpringCloud啟動失敗問題匯總
- 一文吃透Spring?Cloud?gateway自定義錯誤處理Handler
- SpringCloud Gateway路由組件詳解
- SpringCloud OpenFeign基本介紹與實現(xiàn)示例
- Spring Cloud Gateway替代zuul作為API網(wǎng)關(guān)的方法
- SpringCloud使用Feign實現(xiàn)遠程調(diào)用流程詳細介紹
- SpringCloud開啟session共享并存儲到Redis的實現(xiàn)
- Spring?Cloud原理以及核心組件詳解
相關(guān)文章
SpringBoot多模塊打包部署Docker的項目實戰(zhàn)
本文通過介紹最常見的Maven管理的Spring Boot項目多模塊打包部署Docker來介紹一下項目部署過程中操作流程和幾個需要注意的點,具有一定的參加價值,感興趣的可以了解一下2023-08-08
使用Java代碼實現(xiàn)Redis和數(shù)據(jù)庫數(shù)據(jù)同步
這篇文章主要介紹了使用Java代碼實現(xiàn)Redis和數(shù)據(jù)庫數(shù)據(jù)同步問題,文中通過代碼示例給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-06-06
SpringBoot中的異常處理與參數(shù)校驗的方法實現(xiàn)
這篇文章主要介紹了SpringBoot中的異常處理與參數(shù)校驗的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
spring框架配置實體類復(fù)雜屬性注入xml文件過程詳解
這篇文章主要介紹了spring框架配置實體類復(fù)雜屬性注入xml文件過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
Springboot如何設(shè)置過濾器及重復(fù)讀取request里的body
這篇文章主要介紹了Springboot如何設(shè)置過濾器及重復(fù)讀取request里的body,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

