本文已参与「新人创作礼」活动,一起开启掘金创作之路。
OpenFeign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需要创建一个接口,并在接口上添加注解即可
——概念
与Feign区别
日志增强:
- 对Feign接口的调用情况进行监控和输出
- 日志级别:
- null:默认,不显示任何日志
- BASIC:仅记录请求方法,URL,响应状态码及执行时间
- HEADERS:除了BASIC中定义的信息外,还有请求和响应的头信息
- FULL:除了HEADERS中定义的信息外,还有请求和响应的正文及元数据
——实操
- 接口+注解的形式:微服务调用接口+@FeignClient
- pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
- 主启动类添加
@EnableFeignClients
注解
超时控制:默认客户端等待1s,超过后报错
- yml文件开启OpenFeign客户端超时控制
#设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
# 建立连接所需要的时间
ReadTimeout: 5000
# 建立连接后服务端响应的时间
ConnectTimeout: 5000
- OpenFeign开启日志打印
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Feign的日志配置
* @author XLJ
* @date 2020/9/10
*/
@Configuration
public class FeignConfig {
@Bean
Logger.Level feignLoggerLevel(){
return Logger.Level.FULL;
}
}
- yml文件开启日志的Feign客户端
logging:
level:
# feign日志以什么级别监控哪个接口
com.xlj.springcloud.service.PaymentFeignService: debug