OpenFeign超时设置和日志展示

举报
别团等shy哥发育 发表于 2023/01/13 19:02:33 2023/01/13
【摘要】 @[toc] 1、OpenFeign超时设置   默认情况下,openFiegn在进行服务调用时,要求服务提供方处理业务逻辑时间必须在1S内返回,如果超过1S没有返回则OpenFeign会直接报错,不会等待服务执行,但是往往在处理复杂业务逻辑是可能会超过1S,因此需要修改OpenFeign的默认服务调用超时时间。 2、模拟超时 2.1 服务提供方加如线程等待阻塞 2.2 进行客户端调用: 2...

@[toc]

1、OpenFeign超时设置

   默认情况下,openFiegn在进行服务调用时,要求服务提供方处理业务逻辑时间必须在1S内返回,如果超过1S没有返回则OpenFeign会直接报错,不会等待服务执行,但是往往在处理复杂业务逻辑是可能会超过1S,因此需要修改OpenFeign的默认服务调用超时时间。

2、模拟超时

2.1 服务提供方加如线程等待阻塞

在这里插入图片描述

2.2 进行客户端调用:

在这里插入图片描述

2.3 修改OpenFeign默认超时时间

#配置类别调用商品服务时OpenFeign默认超时时间  默认时间1S
#配置指定服务连接超时
#feign.client.config.PRODUCT.connect-timeout=5000
#配置指定服务等待超时
#feign.client.config.PRODUCT.read-timeout=5000

#修改OpenFeign默认调用所有服务的超时时间
#配置所有服务连接超时
feign.client.config.default.connect-timeout=5000
#配置所有服务等待超时
feign.client.config.default.read-timeout=5000

在这里插入图片描述

3、OpenFeign调用详细日志展示:

3.1 日志说明

  • 往往在服务调用时我们需要详细展示feign的日志,默认feign在调用是并不是最详细日志输出,因此在调试程序时应该开启feign的详细日志展示。feign对日志的处理非常灵活可为每个feign客户端指定日志记录策略,每个客户端都会创建一个logger默认情况下logger的名称是feign的全限定名,需要注意的是,feign日志的打印只会DEBUG级别做出响应。
  • 我们可以为feign客户端配置各自的logger.lever对象,告诉feign记录那些日志

logger.level的值有以下几种选择

  • NONE:无记录(DEFAULT)
  • BASIC:只记录请求方法、URL以及响应状态代码和执行时间。
  • HEADERS:记录基本信息(记录BASIC级别的基础上)以及请求和响应标头。
  • FULL:记录请求和响应的头文件、正文和元数据。

3.2 开启日志展示:

#展示OpenFeign日志

#开启OpenFeign中调用商品服务的日志展示
feign.client.config.PRODUCT.logger-level=full
#全局开启服务日志展示
#feign.client.config.default.loggerLevel=full
#
#指定feign调用客户端对象所在包,必须是debug级别
logging.level.com.baizhi.FeignClient=debug

在这里插入图片描述

3.3 测试服务调用并查看日志:

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。