• 自定义Feign的配置


    自定义Feign的配置

    Feign运行自定义配置来覆盖默认配置,可以修改的配置如下:

    类型作用说明
    feign.Logger.Level修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL
    feign.codec.Decoder响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象
    feign.codec.Encoder请求参数编码将请求参数编码,便于通过http请求发送
    feign. Contract支持的注解格式默认是SpringMVC的注解
    feign. Retryer失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试

    一般我们需要配置的就是日志级别

    配置Feign日志有两种方式:
    方式一:配置文件方式

    1. 全局生效:
    feign:
      client:
        config: 
          default: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置
            loggerLevel: FULL #  日志级别 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 局部生效:
    feign:
      client:
        config: 
          userservice: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置
            loggerLevel: FULL #  日志级别 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    配置Feign日志的方式二:java代码方式,需要先声明一个Bean

    public class FeignClientConfiguration {
        @Bean
        public Logger.Level feignLogLevel(){
            return Logger.Level.BASIC; 
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.而后如果是全局配置,则把它放到@EnableFeignClients这个注解中:

    @EnableFeignClients(defaultConfiguration = FeignClientConfiguration.class) 
    
    • 1

    2.如果是局部配置,则 把它放到@FeignClient这个注解中:

    @FeignClient(value = "userservice", configuration = FeignClientConfiguration.class) 
    
    • 1

    总结

    Feign的日志配置:

    1. 方式一是配置文件,feign.client.config.xxx.loggerLevel
      ① 如果xxx是default则代表全局
      ② 如果xxx是服务名称,例如userservice则代表某服务
    2. 方式二是java代码配置Logger.Level这个Bean
      ① 如果在@EnableFeignClients注解声明则代表全局
      ② 如果在@FeignClient注解中声明则代表某服务
  • 相关阅读:
    JAVA面试题总结基础篇(三)
    机器学习模型结果可信度基础理论
    【设计模式】工厂模式(Factory Pattern)
    ApiFox添加全局参数
    【OpenCV】 级联分类器训练模型
    Android实时通信:WebSocket与WebRTC的应用与优化
    含文档+PPT+源码等]精品基于PHP实现的社团活动小程序[包运行成功]计算机PHP毕业设计微信小程序项目源码
    数据结构初步(六)- 复杂链表的分析与C语言实现
    IP地址c++题解
    Flutter组件--Align和AnimatedAlign
  • 原文地址:https://blog.csdn.net/chengxuyuan316/article/details/126280832