springcloud之个性化日志追踪

  1. 方案背景

日志跟踪技术使得查找一次调用所产生的日志信息变得方便。当需要排查一些问题时,可以根据报错的上下文进行分析,给问题诊断带来方便。在spring cloud微服务中,单体应用的日志跟踪技术已经不能满足需求,因而一般采用Spring Cloud Sleuth组件提供的功能来完成分布式日志跟踪。

Spring Cloud Sleuth组件会在zuul网关中,对于每个请求生成一个日志id,之后会通过http header的方式将id带到不同的服务应用中。在特定应用中,通过sl4j及特定的日志输出架构(比如logbackc)实施单体应用的日志跟踪。

Spring Cloud Sleuth默认的解决方案是在一次请求所生产的每条日志中添加日志id,然后通过日志id来关联该次请求的日志信息。在某些业务场景,可能需要对默认的解决方案进行功能的扩展,比如:

  1. 业务上对日志id的格式有要求,比如需要从日志id中看出请求的时间点等。
  2. 出于监控的需求,需要在每条日志中加入客户端请求的ip信息等。

本方案便是通过扩展Spring Cloud Sleuth默认的解决方案的功能达到满足以上业务点。

猜你喜欢

转载自blog.csdn.net/yaowwwww7071/article/details/85769505