feign.Logger.Level 修改日志级别。
四种不同的级别:
1.NONE 没有日志,默认。
2.BASIC 记录http请求什么时候发的,什么时候结束的,耗时等基本信息。
3.HEADERS 除了记录BASIC的内容,还有请求头和响应头。
4.FULL 除了记录BASIC,HEADERS的内容,还有请求体和响应体的信息都记录下来。
修改配置两种方式:
1.基于配置文件的方式
feign:
client:
config:
default: # default 就是全局配置,如果是写服务名称,则是针对某个微服务的配置
loggerLevel: FULL #日志级别
04-27 10:44:35:090 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] ---> GET http://user-service/user/6 HTTP/1.1
04-27 10:44:35:091 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] ---> END HTTP (0-byte body)
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] <--- HTTP/1.1 200 (530ms)
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] connection: keep-alive
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] content-type: application/json
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] date: Sat, 27 Apr 2024 02:44:35 GMT
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] keep-alive: timeout=60
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] transfer-encoding: chunked
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById]
04-27 10:44:35:627 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] {"id":6,"username":"范冰冰","address":"山东省青岛市"}
04-27 10:44:35:628 DEBUG 12856 --- [nio-8080-exec-3] com.xkj.org.clients.UserClient : [UserClient#findById] <--- END HTTP (62-byte body)
2.基于java代码的配置方式
定义一个类FeignClientConfiguration
public class FeignClientConfiguration {
@Bean
public Logger.Level feignLogLevel() {
return Logger.Level.FULL;
}
}
两种配置办法:
全局配置
@EnableFeignClients(defaultConfiguration = FeignClientConfiguration.class)
或者 针对某个微服务的配置
@FeignClient(value = "user-service", configuration = FeignClientConfiguration.class)
public interface UserClient {
@GetMapping("/user/{id}")
User findById(@PathVariable("id") Long id);
}