SpringCloud修改Feign日志記錄級(jí)別過(guò)程淺析
前言
本次示例代碼的文件結(jié)構(gòu)如下圖所示。
1. 介紹
Feign 允許我們自定義配置,下面是 Feign 可以修改的配置。
類(lèi)型 | 作用 | 說(shuō)明 |
---|---|---|
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ù)編碼,便于通過(guò) HTTP 請(qǐng)求發(fā)送 |
feign.Contract | 支持的注解格式 | 默認(rèn)是 Spring MVC 的注解 |
feign.Retryer | 失敗重試機(jī)制 | 請(qǐng)求失敗的重試機(jī)制,默認(rèn)是沒(méi)有,不過(guò)會(huì)使用 Ribbon 的重試 |
- 一般我們需要配置日志級(jí)別。NONE 是不記錄,BASIC 只記錄基本的 HTTP 請(qǐng)求信息,HEADERS 除了基本的 HTTP 信息外,還記錄請(qǐng)求頭;而 FULL 則是記錄完整的 HTTP 信息。換句話說(shuō),按日志完整程度從小到大排序?yàn)椋篘ONE < BASIC < HEADERS < FULL 。
- 實(shí)際開(kāi)發(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 配置類(lèi) config/DefaultFeignConfiguration.java
,聲明 Bean 。
public class DefaultFeignConfiguration { @Bean public Logger.Level loggerLevel() { return Level.BASIC; } }
該類(lèi)沒(méi)有被 Spring 容器管理,因此不會(huì)生效。還需要進(jìn)行下面的配置才能生效。
1)全局配置
在啟動(dòng)類(lèi)的 @EnableFeignClients
注解上添加參數(shù),指定 Feign 的配置類(lèi)。
@EnableFeignClients(defaultConfiguration = DefaultFeignConfiguration.class)
2)局部配置
放到 Feign 客戶端接口的注解 @FeignClient
之中。
@FeignClient(value = "userservice", configuration = DefaultFeignConfiguration.class)
到此這篇關(guān)于SpringCloud修改Feign日志記錄級(jí)別過(guò)程淺析的文章就介紹到這了,更多相關(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)證過(guò)程
- Spring?Cloud?Alibaba實(shí)現(xiàn)服務(wù)的無(wú)損下線功能(案例講解)
- springcloud-gateway集成knife4j的示例詳解
- SpringCloud?Alibaba環(huán)境集成之nacos詳解
- Spring?Cloud?Ribbon?負(fù)載均衡使用策略示例詳解
- SpringCloud @RefreshScope刷新機(jī)制深入探究
- SpringCloud?@RefreshScope刷新機(jī)制淺析
- SpringCloud啟動(dòng)失敗問(wèn)題匯總
- 一文吃透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開(kāi)啟session共享并存儲(chǔ)到Redis的實(shí)現(xiàn)
- Spring?Cloud原理以及核心組件詳解
相關(guān)文章
Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析
這篇文章主要介紹了Java文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05java對(duì)list<Object>進(jìn)行手動(dòng)分頁(yè)實(shí)現(xiàn)
本文主要介紹了java對(duì)list<Object>進(jìn)行手動(dòng)分頁(yè)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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è)置的三種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08基于SpringBoot實(shí)現(xiàn)代碼在線運(yùn)行工具
這篇文章主要介紹了如何利用SpringBoot實(shí)現(xiàn)簡(jiǎn)單的代碼在線運(yùn)行工具(類(lèi)似于菜鳥(niǎo)工具),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-06-06Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求
這篇文章主要介紹了Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08HashMap紅黑樹(shù)入門(mén)(實(shí)現(xiàn)一個(gè)簡(jiǎn)單的紅黑樹(shù))
紅黑樹(shù)(Red Black Tree) 是一種自平衡二叉查找樹(shù),是在計(jì)算機(jī)科學(xué)中用到的一種數(shù)據(jù)結(jié)構(gòu),典型的用途是實(shí)現(xiàn)關(guān)聯(lián)數(shù)組。 紅黑樹(shù)發(fā)明時(shí)被稱為平衡二叉B樹(shù),后來(lái)修改為如今的“紅黑樹(shù)”2021-06-06mybatis多對(duì)多關(guān)聯(lián)實(shí)戰(zhàn)教程(推薦)
下面小編就為大家?guī)?lái)一篇mybatis多對(duì)多關(guān)聯(lián)實(shí)戰(zhàn)教程(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10開(kāi)發(fā)者必讀:揭秘Python與Java的性能較量
本文將探討這兩種流行的編程語(yǔ)言之間的性能差異,無(wú)論你是剛剛?cè)腴T(mén)編程還是已經(jīng)有一定經(jīng)驗(yàn),這個(gè)指南都將幫助你了解Python和Java在執(zhí)行速度、內(nèi)存管理以及擴(kuò)展性方面的不同,通過(guò)比較這兩種語(yǔ)言的特點(diǎn)和優(yōu)勢(shì),你將能夠更好地選擇適合自己項(xiàng)目需求的編程語(yǔ)言,讓我們開(kāi)始吧!2023-12-12