OpenFeign
- 添加依赖
- OpenFeign的简单使用
- OpenFeign日志配置
- OpenFeign超时时间配置
添加依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
OpenFeign的简单使用
//name 指定调用rest接口所对应的服务名称
//path 指定调用rest接口所在的Controller指定的@RequestMapping
@FeignClient(name = "book-service" , path = "/bookQuery")
public interface BookFeignService {@RequestMapping("/reduct")String reduct();
}
OpenFeign日志配置
在遇到BUG时,比如接口调用失败、参数没有接收到等问题,或者需要查看调用性能时,可以通过Feign日志进行查看。日志等级分为以下四种:
(1)NONE:性能最佳,用于生产环境,不记录任何日志(默认)
(2)BASIC:适用于生产环境追踪问题,仅记录请求方法、URL、响应码及执行时间
(3)HEADERS:记录BASIC级别的基础上,记录请求和相应的header
(4)FULL:比较适用于开发及测试环境定位问题,记录请求和响应的header、body和元数据
日志配置分为全局配置和局部配置:
全局配置:使用@Configuration将配置作用所有的服务提供方
@Configuration
public class OpenFeignConfig {@Beanpublic Logger.Level feignLoggerLevel(){return Logger.Level.FULL;}
}
注意:SpringBoot默认的日志级别是Info,Feign的日志级别是Debug不会输入,因此需要在配置文件中针对Feign接口进行日志级别设置。
logging:level:cn.cloud.alan.feign: debug
局部配置:当只想针对某一个服务进行配置,就不要使用@Configuration
feign:client:config:cloud-openFeign:logger-level: FULL
OpenFeign超时时间配置
通过Options可以配置连接超时时间和读取超时时间,Options的第一个参数是连接的超时时间(ms),默认值是2s;第二个是请求处理的超时时间(ms),默认值是5s。
全局配置
@Configuration
public class OpenFeign {@Beanpublic Request.Options options(){return new Request.Options(5000,10000);}
}
局部配置
feign:client:config:cloud-openFeign:logger-level: FULLconnectTimeout: 10000readTimeout: 10000