今天项目中遇到了一个问题: 微服务调用失败, 直接进入了 fallback 的逻辑. 但是无法定位出准确的问题, 所以费了一番周折, 研究了一下 Feign 打印日志的问题. 本人亲测可用, 总结一下, 以便日后快速解决相似问题.
我们项目使用的是 SpringCloud 微服务架构, springboot 的版本是 1.4.5.
进入正题
第一步: FeignClient 配置 fallbackfactory 属性, 注意, 这里不是配置 fallback 属性, 因为网上的说法 fallback 不能打印日志, fallbackfactory 可以打印日志.
第二步: 新增一个接口, 实现我们项目中已有的 Feign 客户端接口.
第三步: 新建一个 java 类, 实现 FallbackFactory 接口, 注意这里要把我们项目中已有的 Feign 客户端接口表作为泛型参数传入 FallbackFactory. 然后实现 FallbackFactory 的 create() 方法, 在 create() 方法中就可以打印日志了.
图片发自简书 App
OK, 完成以上三步, 就可以打印 Feign 调用微服务异常的详细日志了.
来源: http://www.jianshu.com/p/06bbec06627d