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)
局部配置
@FeignClient(value = "userservice", configuration = FeignClientConfiguration.class)
注意:如果没有log的化可能没有配置log
logging:
level:
com.marw: debug