SpringCloud修改Feign日志記錄級(jí)別過程淺析
前言
本次示例代碼的文件結(jié)構(gòu)如下圖所示。
1. 介紹
Feign 允許我們自定義配置,下面是 Feign 可以修改的配置。
類型 | 作用 | 說明 |
---|---|---|
feign.Logger.Level | 修改日志級(jí)別 | 包含四種不同級(jí)別:NONE、BASIC、HEADERS、FULL |
feign.codec.Decoder | 響應(yīng)結(jié)果的解析器 | HTTP 遠(yuǎn)程調(diào)用的結(jié)果做解析,例如解析 JSON 字符串反序列化成 Java 對(duì)象 |
feign.codec.Encoder | 請(qǐng)求參數(shù)編碼 | 將請(qǐng)求參數(shù)編碼,便于通過 HTTP 請(qǐng)求發(fā)送 |
feign.Contract | 支持的注解格式 | 默認(rèn)是 Spring MVC 的注解 |
feign.Retryer | 失敗重試機(jī)制 | 請(qǐng)求失敗的重試機(jī)制,默認(rèn)是沒有,不過會(huì)使用 Ribbon 的重試 |
- 一般我們需要配置日志級(jí)別。NONE 是不記錄,BASIC 只記錄基本的 HTTP 請(qǐng)求信息,HEADERS 除了基本的 HTTP 信息外,還記錄請(qǐng)求頭;而 FULL 則是記錄完整的 HTTP 信息。換句話說,按日志完整程度從小到大排序?yàn)椋篘ONE < BASIC < HEADERS < FULL 。
- 實(shí)際開發(fā)中,推薦使用 BASIC 。因?yàn)橛涗浫罩緯?huì)消耗一定的性能。
2. 方式一
配置文件
1)全局生效 order-service
的配置文件。
feign:
client:
config:
default: # 全局生效,所有微服務(wù)生效
logger-level: FULL
重啟 OrderApplication
生效,當(dāng)在 Postman 發(fā)送了一次查詢請(qǐng)求后, OrderApplication
的控制臺(tái)就出現(xiàn)了全部的 HTTP 日志信息。
2)局部生效
feign:
client:
config:
userservice: # 只在遠(yuǎn)程調(diào)用userservice這個(gè)微服務(wù)時(shí)才生效
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 容器管理,因此不會(huì)生效。還需要進(jìn)行下面的配置才能生效。
1)全局配置
在啟動(dòng)類的 @EnableFeignClients
注解上添加參數(shù),指定 Feign 的配置類。
@EnableFeignClients(defaultConfiguration = DefaultFeignConfiguration.class)
2)局部配置
放到 Feign 客戶端接口的注解 @FeignClient
之中。
@FeignClient(value = "userservice", configuration = DefaultFeignConfiguration.class)
到此這篇關(guān)于SpringCloud修改Feign日志記錄級(jí)別過程淺析的文章就介紹到這了,更多相關(guān)SpringCloud修改Feign日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringCloud Hystrix熔斷器使用方法介紹
- SpringCloud Gateway動(dòng)態(tài)路由配置詳解
- Spring?Cloud?Gateway遠(yuǎn)程命令執(zhí)行漏洞分析(CVE-2022-22947)
- SpringSecurit鹽值加密的密碼驗(yàn)證以及強(qiáng)密碼驗(yàn)證過程
- Spring?Cloud?Alibaba實(shí)現(xiàn)服務(wù)的無損下線功能(案例講解)
- springcloud-gateway集成knife4j的示例詳解
- SpringCloud?Alibaba環(huán)境集成之nacos詳解
- Spring?Cloud?Ribbon?負(fù)載均衡使用策略示例詳解
- SpringCloud @RefreshScope刷新機(jī)制深入探究
- SpringCloud?@RefreshScope刷新機(jī)制淺析
- SpringCloud啟動(dòng)失敗問題匯總
- 一文吃透Spring?Cloud?gateway自定義錯(cuò)誤處理Handler
- SpringCloud Gateway路由組件詳解
- SpringCloud OpenFeign基本介紹與實(shí)現(xiàn)示例
- Spring Cloud Gateway替代zuul作為API網(wǎng)關(guān)的方法
- SpringCloud使用Feign實(shí)現(xiàn)遠(yuǎn)程調(diào)用流程詳細(xì)介紹
- SpringCloud開啟session共享并存儲(chǔ)到Redis的實(shí)現(xiàn)
- Spring?Cloud原理以及核心組件詳解
相關(guān)文章
Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析
這篇文章主要介紹了Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05java對(duì)list<Object>進(jìn)行手動(dòng)分頁實(shí)現(xiàn)
本文主要介紹了java對(duì)list<Object>進(jìn)行手動(dòng)分頁實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Java?Spring?boot日期和時(shí)間統(tǒng)一設(shè)置三種方法
時(shí)間和日期的統(tǒng)一設(shè)置在項(xiàng)目中經(jīng)常是會(huì)遇到的,下面這篇文章主要給大家介紹了關(guān)于Java?Spring?boot日期和時(shí)間統(tǒng)一設(shè)置的三種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08基于SpringBoot實(shí)現(xiàn)代碼在線運(yùn)行工具
這篇文章主要介紹了如何利用SpringBoot實(shí)現(xiàn)簡單的代碼在線運(yùn)行工具(類似于菜鳥工具),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-06-06Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求
這篇文章主要介紹了Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08HashMap紅黑樹入門(實(shí)現(xiàn)一個(gè)簡單的紅黑樹)
紅黑樹(Red Black Tree) 是一種自平衡二叉查找樹,是在計(jì)算機(jī)科學(xué)中用到的一種數(shù)據(jù)結(jié)構(gòu),典型的用途是實(shí)現(xiàn)關(guān)聯(lián)數(shù)組。 紅黑樹發(fā)明時(shí)被稱為平衡二叉B樹,后來修改為如今的“紅黑樹”2021-06-06mybatis多對(duì)多關(guān)聯(lián)實(shí)戰(zhàn)教程(推薦)
下面小編就為大家?guī)硪黄猰ybatis多對(duì)多關(guān)聯(lián)實(shí)戰(zhàn)教程(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10