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日志有两种方式:

方式一:配置文件方式

全局生效:

feign:
  client:
    config:
      default: #default:全局配置,如果是写服务名称,则是针对某个微服务的配置
        loggerLevel: full 

局部生效:

feign:
  client:
    config:
      userservice: #服务名称,是针对userservice服务的配置
        loggerLevel: full

方式二:java代码方式,需要先声明一个Bean

public class FeignClientConfiguration {
    @Bean
    public Logger.Level feignLogLevel(){
        return Logger.Level.BASIC; 
    }
}

注意FeignClientConfiguration没有添加注解,此配置时不会生效的,要此配置可以通过以下方式

全局配置

@EnableFeignClients(defaultConfiguration = FeignClientConfiguration.class) 
public class xxxApplication{}

局部配置

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

注意:如果没有log的话可能没有配置log

logging:
  level:
    com.marw: debug

 

posted @ 2021-10-18 10:40  一杯水M  阅读(565)  评论(0编辑  收藏  举报