微服务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微服务架构实战》
还没有评论,来说两句吧...