spring feign client 如何aop打印调用日志

需求:

  • 目前项目中使用feign client 来简化http的调用;
  • 但是缺乏调用监控;
  • 打算在主调侧做调用监控,打印 srcServerName/dstServerName/srcIp/dstIp/costTime等信息到日志目录.
  • 然后通过filebeat采集,并做数据监控和链路分析。

现在问题,在于如何对现有业务侵入(改动)较少的方式,来打印这些信息,大家有什么好的推荐?

目前想到的就是使用aop来弄,但是好像切不上去,spring的切面好像只支持 容器类管理的bean. 然后另外想到的是,通过httpclient的clientRequeestInteceptor去做拦截,但是这种方式,好像获取不到 dstServerName信息。

求助各位大佬,给下建议.

阅读 6.5k
2 个回答

可以尝试使用Feign提供的拦截器来实现日志记录的功能。通过自定义拦截器,在请求发出前后进行处理,并获取相关的请求和响应信息。

推荐问题
宣传栏