微服务springcloud-Feign日志

Feign的日志

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

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

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

2.编写Feign配置类

@Configuration
public class FeignLogConfiguration {
    @Bean
    Logger.Level FeignLoggerLevel(){
        return Level.FULL;
    }
}

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

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

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

logging:
    level:
        com.aster.user.feign.UserFeignClient: DEBUG
 #将Feign接口的日志级别为DEBUG,因为Feign的Logger.Level
 #只对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微服务架构实战》

猜你喜欢

转载自blog.csdn.net/weixin_43439494/article/details/83619111