您的位置:首页 > 娱乐 > 明星 > [000-01-008].第05节:OpenFeign高级特性-日志打印功能

[000-01-008].第05节:OpenFeign高级特性-日志打印功能

2024/12/21 20:09:27 来源:https://blog.csdn.net/weixin_43783284/article/details/142219471  浏览:    关键词:[000-01-008].第05节:OpenFeign高级特性-日志打印功能

我的后端学习大纲

SpringCloud学习大纲


1、日志打印功能:

  • 1.Feign 提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解 Feign 中 Http 请求的细节,说白了就是对Feign接口的调用情况进行监控和输出

2、日志级别:

  • NONE:默认的,不显示任何日志
  • BASIC:仅记录请求方法、URL、响应状态码及执行时间
  • HEADERS:除了 BASIC 中定义的信息之外,还有请求和响应的头信息
  • FULL:除了 HEADERS 中定义的信息之外,还有请求和响应的正文及元数据
    在这里插入图片描述

3、配置开启日志功能:

3.1.配置日志bean

package com.atguigu.cloud.config;
import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignConfig{@Beanpublic Retryer myRetryer(){return Retryer.NEVER_RETRY; //默认}@BeanLogger.Level feignLoggerLevel() {return Logger.Level.FULL;}
}

3.2.YML文件里需要开启日志的Feign客户端:

  • 1.公式(三段):logging.level + 含有@FeignClient注解的完整带包名及接口名+debug

在这里插入图片描述

  • 2.YML配置:
	# feign日志以什么级别监控哪个接口logging:level:com:atguigu:cloud:apis:PayFeignApi: debug 

3.3.测试查看后台日志:

a.带着压缩调用:

在这里插入图片描述

b.去掉压缩调用:

在这里插入图片描述

3.4测试重试机制的日志:

a.更改类FeignConfig.java,配置重试策略

package com.atguigu.cloud.config;import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class FeignConfig{@Beanpublic Retryer myRetryer(){//最大请求次数为3(1+2),初始间隔时间为100ms,重试间最大间隔时间为1sreturn new Retryer.Default(100,1,3);}@BeanLogger.Level feignLoggerLevel() {return Logger.Level.FULL;}
}

b.配置YML:

server:port: 80spring:application:name: cloud-consumer-openfeign-order####Spring Cloud Consul for Service Discoverycloud:consul:host: localhostport: 8500discovery:prefer-ip-address: true #优先使用服务ip进行注册service-name: ${spring.application.name}openfeign:client:config:default:#cloud-payment-service:#连接超时时间connectTimeout: 2000#读取超时时间readTimeout: 2000httpclient:hc5:enabled: truecompression:request:enabled: truemin-request-size: 2048mime-types: text/xml,application/xml,application/jsonresponse:enabled: true# feign日志以什么级别监控哪个接口
logging:level:com:atguigu:cloud:apis:PayFeignApi: debug

c.测试:

  • 发送请求:http://localhost/feign/pay/get/1

d.控制台打印:

在这里插入图片描述

e.完整的YML:

server:port: 80spring:application:name: cloud-consumer-openfeign-order####Spring Cloud Consul for Service Discoverycloud:consul:host: localhostport: 8500discovery:prefer-ip-address: true #优先使用服务ip进行注册service-name: ${spring.application.name}openfeign:client:config:default:connectTimeout: 2000 #连接超时时间readTimeout: 2000 #读取超时时间httpclient:hc5:enabled: truecompression:request:enabled: truemin-request-size: 2048mime-types: text/xml,application/xml,application/jsonresponse:enabled: true#cloud-payment-service:#connectTimeout: 4000 #连接超时时间#readTimeout: 4000 #读取超时时间# feign日志以什么级别监控哪个接口
logging:level:com:atguigu:cloud:apis:PayFeignApi: debug

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com