基于SLF4J MDC机制实现日志的链路追踪

  1. 云栖社区>
  2. Java杂记>
  3. 博客>
  4. 正文

基于SLF4J MDC机制实现日志的链路追踪

初商 2019-09-04 21:30:43 浏览491
展开阅读全文

问题描述

最近经常做线上问题的排查,而排查问题用得最多的方式是查看日志,但是在现有系统中,各种无关日志穿行其中,导致我没办法快速的找出用户在一次请求中所有的日志。

问题分析

我们没办法快速定位用户在一次请求中对应的所有日志,或者说是定位某个用户操作的所有日志,那是因为我们在输出的日志的时候没把请求的唯一标示或者说是用户身份标示输出到我们的日志中,导致我们没办法根据一个请求或者用户身份标示来做日志的过滤。所以我们在记录日志的是后把请求的唯一标示(sessionId)或者身份标示(userId) 记录到日志中这个问题就可以得到很好的解决了。

解决方案

  1. 在每次请求的时候,获取到请求的sessionId(或者自己生成一个伪sessionId),并在每次输出log的时候将这个sessionId输出到日志中。这个方式实现简单,代码侵入型强,每次输出都会

网友评论

登录后评论
0/500
评论
初商
+ 关注
所属云栖号: Java杂记