OpenFeign 继承FeignClient客户端注意事项

news/2025/9/29 17:53:46/文章来源:https://www.cnblogs.com/slankka/p/19119234

问题

起因是希望打印部分FeignClient的日志,不希望修改全局OpenFeign的日志打印。

因此不能使用
feign.client.config.default.logger-level=FULL

也不能使用全局的
@Bean
public Logger.Level openFeignFullLog() {
return Logger.Level.HEADERS;
}

现象

feign.client.config.clientname.logger-level=FULL 无效

分析

是否因为使用了 interface 上的 FeignClient.configuration 专用配置类导致上述配置无效?

@FeignClient(name="clientname", configuration=SampleClient.MiniConf.class) 
public interface SampleClient {@Beanpublic ErrorDecoder errorDecoder() {return new SharedFeignErrorDecoder();}@Beanpublic RequestInterceptor basic(String username, String password) {return new BasicAuthRequestInterceptor(username, password) {@Overridepublic void apply(RequestTemplate template) {super.apply(template);}};}
}

结论

由于实际使用更加精细,同时使用了contextId 和 extends继承接口,因此需要使用contextId 作为标识。

改为

feign.client.config.contextId.logger-level=HEADERS

备注:例如有多环境的Server,FeignClient需要请求他们,但是API接口是一样的,只是认证方式、Host URL等不一样。

通过FeignClient的name区分还不够,还需要ContentId。

例如:

@FeignClient(url = "${host1}", contextId = "server-h1", qualifier = "server-h1", configuration=....)
public interface H1Client {
}
@FeignClient(url = "${host2}", contextId = "server-h2", qualifier = "server-h2", configuration=...)
public interface H2Client extends H1Client {
}

此时需要修改为:

feign.client.config.server-h1.logger-level=HEADERS

feign.client.config.server-h2.logger-level=HEADERS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合肥 网站制作公司建设网站费用如何入帐

合合信息亮相CSIG AI可信论坛,全面拆解视觉内容安全的“终极防线”! 🐯 AI伪造泛滥,我们还能相信“眼见为实”吗? 近期,由中国图象图形学学会主办的CSIG青年科学家会议 AI可信论坛在杭州成功举办。本次论…

详细介绍:Redis 核心数据类型:从命令、结构到实战应用

详细介绍:Redis 核心数据类型:从命令、结构到实战应用2025-09-29 17:44 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; …

青海个人旅游网站建设抖音代运营工作怎么样

安装gdal 安装gdal,真是一波三折哇。pip、conda、c编译了等等,网上各种大佬的解决方法都试了试。咱就是说,都不行,很扯淡。甚至 使用conda install gdal 都显示安装成功了,但是 from osgeo import gdal; i…

9月29日

学习了java中的方法,讲解了使用静态导入和类方法的编写,以及如何生成随机数、怎样处理大数字浮点数,在课堂测试中编写生成四则运算题目程序

服装网站开发项目计划书电子工程王粟

简介: 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从数组中选出一…

做网站一般会出现的问题wordpress 个人公众号

首先,为什么各种浏览器会产生兼容性问题? 产生这个问题的主要原因是市面上的浏览器的种类很多,但由于不同的浏览器的内核不一致,从而导致各个浏览器对网页的解析就产生了差异。 对于解决浏览器兼容性问题,我们要从三…

JVM调优实战及常量池详解

JVM调优实战及常量池详解 一、阿里巴巴 Arthas 工具 Arthas 是 Alibaba 开源的 Java 诊断工具(支持 JDK6+),采用命令行交互,可快速定位线上问题,核心内容如下: 1. 下载与启动 # GitHub下载 wget https://alibaba…

做asp网站需要的实验报告单上海网站建设置作

我来教你 js文件怎么通过python访问数据库,希望能够为你带来帮助。 1、如果是要提交表单内容给 服务器的 python 处理,那么只需要在表单 里面的 action 填写服务端的处理路由就可以了。或者用 指向服务器路由get querystring。前端方面不需要python啊。…

个人备案网站建设方案书网络营销推广怎么做

string模拟实现 构造函数和析构函数begin和endreserve和resizepush_back和appendc_strempty,size,capacity,clear拷贝构造和赋值和比较大小[]重载insert和erasefind查找 前面我们已经对string进行了简单的介绍,只要会用各个函数即…

Cisco Identity Services Engine (ISE) 3.5 - 基于身份的网络访问控制和策略实施系统

Cisco Identity Services Engine (ISE) 3.5 - 基于身份的网络访问控制和策略实施系统Cisco Identity Services Engine (ISE) 3.5 - 基于身份的网络访问控制和策略实施系统 思科身份服务引擎 (ISE) - 下一代 NAC 解决方…

[源码阅读][vmselect] 从promql 到一条曲线,计算过程是怎么样的?

[源码阅读][vmselect] 从promql 到一条曲线,计算过程是怎么样的?作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客 zhihu Github 公众号:一本正经的瞎扯以最经典的计算 qps 的曲线为例,vmse…

kuboard使用的etcd空间满了如何处理

1.在master节点通过命令进入etcd容器,pod名称替换成自己的[root@master ~]# kubectl get pods -n kuboard NAME READY STATUS RESTARTS AGE kuboard-etcd-6vmkm 1/1 R…

国内信创领域的PostgreSQL技术能力认证

工信部人才交流中心颁发的 PostgreSQL 数据库管理员认证(以下简称 “工信人才 PG 认证”)是国内信创领域的技术能力认证,随着信创战略推进,PostgreSQL 作为开源可控的数据库代表,已成为国产替代的标杆技术。在中央企…

redis-AOF持久化机制

redis-AOF持久化机制AOF,Appedn Only File,指Redis将每一次的写操作都以日志的形式记录到一个AOF文件中的持久化技术。 当需要恢复内存数据时,只这些写操作重新执行一次就可以将之前的内存数据恢复。 AOF配置开启AO…

03-控制台项目创建与结构说明

项目创建 项目名称和存放位置 Main函数

从拆盒到共创:手办盲盒抽赏小程序的多元体验与文化联结 - 实践

从拆盒到共创:手办盲盒抽赏小程序的多元体验与文化联结 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

Nginx技术文档与LNMP架构部署指南 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

海康威视WEB视频监控插件3.3 解决视频画面遮挡 无法隐藏的问题 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

怎么做类似淘宝一样的网站吗wordpress维护服务

vue-cli项目首页加载缓慢想要使用骨架屏效果,经过几天的踩坑,这里学习并记录一下vue项目自动生成骨架屏方法。 添加骨架屏,其优势在于: 写于HTML文件中,独立于Vue框架,节省了JS加载时间JS全局环境创建的执…

YACS2025年9月乙组

YACS2025年9月乙组T1. 数学作业 发现 \(a-b\) 太大会很快超过题目所限的范围,所以 \(a-b\) 值并不大。 然后枚举差值 \(d\),发现 \(\frac{(x+d)!}{x!}\) 关于 \(x\) 单调递增。所以可以二分判断存不存在 \(x\) 满足 …