🧭 本文为 【SkyWalking 系列】第 2 篇
👉 系列导航:点击跳转
【SkyWalking】日志如何接入,实现链路日志关联分析
简介
讲解如何将日志与 traceId 绑定,使得 SkyWalking 能展示与链路相关联的日志内容。
引入
链路信息和日志各自孤立很难定位问题。SkyWalking 日志功能允许在链路中查阅对应日志,提升排查效率。
一、日志接入的必要性
传统系统中,日志和链路是割裂的:
- 日志只能本地查找,排查慢;
- 调用链能看到流程,但细节缺失。
而通过将日志上报到 SkyWalking,你可以:
- 在链路详情中看到对应的日志内容;
- 实现 TraceId 与日志的 自动关联;
- 统一监控 + 统一日志,提升可观测性。
二、实现方案:Logback 集成 SkyWalking
SkyWalking 提供了日志采集探针,支持 Logback、log4j2 等常见日志框架。这里我们以 Spring Boot 默认使用的 Logback 为例讲解。
三、集成步骤(以 Logback 为例)
1、日志收集到Skywalking
1.1、引入依赖
<skywalking.version>8.9.0</skywalking.version>
<!--skywalking 日志依赖包-->
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>${skywalking.version}</version>
</dependency>
1.2、修改logback.xml 文件
- 这里官方提供了几种方式,控制台打印、grpc收集到skywalking,此处使用的是收集到skywalking
<!-- 上传skywalking 日志-->
<appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="grpc-log" />
</root>
1.3 配置好以后,监控界面如下
可以在不同的服务通过traceId 找到单次请求的d
四、总结
通过以上步骤,我们已经成功将 Spring Boot 日志集成到 SkyWalking,实现了日志与链路的联动。在微服务架构中,这种统一日志与追踪的可观测能力,将极大提升系统定位与排障效率。
🧩 本文为【SkyWalking系列】第 2 篇
📌 喜欢记得点赞、收藏,或关注我持续更新更多微服务实战内容!
📮 有问题欢迎评论区讨论,看到必回 🙌
👉 下一篇预告:系列3:【SkyWalking】配置告警规则并通过 Webhook 推送钉钉通知(欢迎提前收藏)