3-1Feign 自定义日志 · SpringCloud微服务实战 · 看云
1.自定义日志
导航
本节代码地址
我们在开发时候一般出现问题,需要将出错信息、异常信息以及正常的输入输出打印出来,以供我们更好的排查和解决问题,比如想看到接口的性能,就需要看Feign 的日志,那么如何让Feign 的日志展示出来呢?
1.1 添加日志的配置信息
新建FeignConfig类,并设置日志级别的输出信息
public class FeignConfig {
@Bean
Logger.Level feignLoggerLevel(){
return Logger.Level.FULL;
}
}
通过源码可 日志等级有
- NONE: 不输出日志
- BASIC: 只输出请求方法的URL 和响应状态码以及接口的请求时间
- HEADERS :将 BASIC信息和请求头信息输出
- FULL :输出完 的请求信息
对应的源码如下所示
代码路径:feign.Logger
public static enum Level {
NONE,
BASIC,
HEADERS,
FULL;
private Level() {
}
}
1.2 @FeignClient的配置修改
之后将配置信息添加到Feign 的接口配置上面
@FeignClient(value = "fw-register-eureka-client",configuration = FeignConfig.class)
public interface EurekaFeignService {
@GetMapping("/hello")
String hello();
}
1.3 需要在application.yml中设置日志级别
com.yisu是设置包路径,在这个路径里面的debug信息都会被捕获到
logging:
level:
com.yisu: debug
1.4 重启应用并调用服务接口
Postman调用localhost:8771/feignInfo
可以在console控制台中看到如下DEBUG日志:
2019-12-28 15:14:55.857 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello] <--- HTTP/1.1 200 (682ms)
2019-12-28 15:14:55.857 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello] content-length: 10
2019-12-28 15:14:55.857 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello] content-type: text/plain;charset=UTF-8
2019-12-28 15:14:55.857 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello] date: Sat, 28 Dec 2019 07:14:55 GMT
2019-12-28 15:14:55.857 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello]
2019-12-28 15:14:55.862 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello] hello:8763
2019-12-28 15:14:55.862 DEBUG 6996 --- [nio-8771-exec-1] c.yisu.feign.service.EurekaFeignService : [EurekaFeignService#hello] <--- END HTTP (10-byte body)
2019-12-28 15:14:55.879 INFO 6996 --- [nio-8771-exec-1] c.y.f.controller.EurekaFeignController : hello:8763
2019-12-28 15:14:56.670 INFO 6996 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty : Flipping property: fw-register-eureka-client.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647