微服务springcloud-Feign日志

我就是我 2022-04-22 01:24 344阅读 0赞

Feign的日志

Feign对日志的处理非常灵活。可为每个Feign客户端指定日志记录策略,每个Feign客户端都会创建一个logger。默认情况下,logger的名称是Feign接口的完整类名、需要注意的是,Feign的日志打印 只会对DEBUG级别做出响应。

  1. NONE: 不记录任何日志(默认值)。
  2. BASIC: 仅记录请求方法、URL、响应状态代码以及执行时间。
  3. HEADERS:记录BASIC级别的基础上,记录请求和响应的header
  4. FULL: 记录请求和响应的headerbody和元数据。

1.复制项目microservice-consumer-movie-feign,将ArtifactId修改为microservice-consumer-movie-feign-logging。

2.编写Feign配置类

  1. @Configuration
  2. public class FeignLogConfiguration {
  3. @Bean
  4. Logger.Level FeignLoggerLevel(){
  5. return Level.FULL;
  6. }
  7. }

3.修改Feign的接口,指定配置类

  1. @FeignClient(name="users", configuration = FeignLogConfiguration.class)
  2. public interface UserFeignClient {
  3. @RequestMapping(value ="/{id}",method = RequestMethod.GET)
  4. public User findById(@PathVariable("id") Long id);
  5. }

4.在application.yml中添加以下内容,指定Feign接口的日志级别为DEBUG

  1. logging:
  2. level:
  3. com.aster.user.feign.UserFeignClient: DEBUG
  4. #将Feign接口的日志级别为DEBUG,因为Feign的Logger.Level
  5. #只对DEBUG做出响应。

5.测试

1.启动microservice-discovery-eureka。
2.启动micros-provider-user。
3.启动microservice-consumer-movie-feign-logging
4.访问http://localhost:8010/user/1,可以看到如下日志
在这里插入图片描述

5.将日志级别修改为BASIC (注意是 return Level.BASIC;)日志如下:
在这里插入图片描述

本文大部分内容转载自周立的《Spring Cloud与Docker微服务架构实战》

发表评论

表情:
评论列表 (有 0 条评论,344人围观)

还没有评论,来说两句吧...

相关阅读