SkyWalking 源码分析 traceId 集成到日志组件
1. 概述
本文主要分享 traceId 集成到日志组件,例如 log4j 、log4j2 、logback 等等。
我们首先看看集成的使用例子,再看看集成的实现代码。涉及代码如下:
本文以logback 1.x 为例子。
2. 使用例子
1、 无需引入相应的工具包,只需启动参数带上-javaagent:/Users/yunai/Java/skywalking/packages/skywalking-agent/skywalking-agent.jar;
2、 在logback.xml配置%tid占位符:;

3、 使用logger.info(...),会打印日志如下:;

注意,traceId 打印到每条日志 里,最终需要经过例如 ELK ,收集到日志中心。
3. 实现代码
3.1 TraceIdPatternLogbackLayout
org.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout ,实现 ch.qos.logback.classic.PatternLayout 类,实现支持 %tid 的占位符。代码如下:

