如何进行Feign的自定义配置

  1. Feign可以支持很多的自定义配置,下列是部分配置信息
    1. 类型 作用 说明
      Logger.Level 修改日志级别 配置键:loggerLevel,包含四种不同的级别:NONE、BASIC、HEADERS、FULL
      Class<Retryer> 失败重试机制 配置键:retryer,请求失败的重试机制,默认是没有,不过会使用Ribbon的重试
      Class<Decoder> 响应结果的解析器 配置键:decoder,http远程调用的结果做解析,例如解析json字符串为java对象
      Class<Encoder> 请求参数编码 配置键:encoder,将请求参数编码,便于通过http请求发送
      Class<Contract> 支持的注解格式 配置键:contract,默认是SpringMVC的注解
    2. 一般情况下,默认值就能满足我们自己的使用了,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可,或者将配置文件的信息修改为自己的配置信息
  2. 以修改feign的日志级别为例
    1. 修改配置文件方式
      1. 针对单个微服务的feign进行设置
        1. 在application.yml文件中添加配置
          1. feign:
              client:
                config:
                  # 指的是@FeignClient中的value设定的值,也就是对应的微服务名称
                  nacos-feign-user-service:
                    # 日志级别 
                    loggerLevel: FULL
      2. 针对当前所有微服务进行设置
        1. 在application.yml文件中添加配置
          1. feign:
              client:
                config:
                  # default就是全局配置
                  default:
                    # 日志级别
                    loggerLevel: FULL
    2. java代码编码方式
      1. 首先创建feign的配置类DefaultFeignConfiguration
        1. package com.app.order.config;
          
          import feign.Logger;
          import org.springframework.context.annotation.Bean;
          
          /**
           * feign的系统配置信息
           *
           * @author Administrator
           */
          public class DefaultFeignConfiguration {
          
              @Bean
              public Logger.Level feignLoggerLevel() {
                  // 日志级别设置为FULL
                  return Logger.Level.FULL;
              }
          
          }
          
      2. 针对单个微服务的feign进行设置
        1. 在对应服务的@FeignClient中添加configuration属性
          1. @FeignClient(value = "nacos-feign-user-service", path = "/users", configuration = DefaultFeignConfiguration.class)
      3. 针对当前所有微服务进行设置,也就是全局配置
        1. 修改项目的启动类的注解@EnableFeignClients,添加defaultConfiguration属性
          1. @EnableFeignClients(clients = {UserApi.class}, defaultConfiguration = DefaultFeignConfiguration.class)
    3. 日志级别详细
      1. NONE:不记录任何日志信息,这是默认值
      2. BASIC:仅记录请求的方法,URL以及响应状态码和执行时间
      3. HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息
      4. FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据
    4. 注意
      1. feign相关的日志默认是不会输出的,需要自定义配置才能输出,并且Feign只对debug级别的基本的日志做出响应,所以需要将日志级别设置为debug级别,info级别是不会输出的,其源码如下

相关推荐

  1. 23.Feign定义日志配置

    2023-12-18 02:24:02       11 阅读
  2. 如何配置Feign以实现服务调试

    2023-12-18 02:24:02       7 阅读
  3. 关于 React 如何定义配置 HighCharts tooltip

    2023-12-18 02:24:02       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 02:24:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 02:24:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 02:24:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 02:24:02       18 阅读

热门阅读

  1. fripside - promise lrc

    2023-12-18 02:24:02       33 阅读
  2. 如何安装docker

    2023-12-18 02:24:02       44 阅读
  3. C语言指针2

    2023-12-18 02:24:02       35 阅读
  4. 设计一个算法用于判断循环双链表是否对称。

    2023-12-18 02:24:02       39 阅读
  5. 【mysql】锁的类型有哪些呢?

    2023-12-18 02:24:02       39 阅读
  6. ES6之class类

    2023-12-18 02:24:02       32 阅读
  7. ubuntu18使用docker编译和运行的步骤

    2023-12-18 02:24:02       37 阅读
  8. 深入理解GPIO概念详讲

    2023-12-18 02:24:02       34 阅读
  9. 变量命名不够恰当(js的问题)

    2023-12-18 02:24:02       45 阅读