项目中已经通过skywalking进行链路追踪,为了方便查看日志排查问题,需要在日志中打印traceId,skywalking的一个工具jar,可以在日志中记录traceId。参考官网配置:
https://github.com/apache/skywalking/blob/v5.0.0-alpha/docs/cn/Application-toolkit-logback-1.x-CN.md
skywalking探针部署
需要在项目的启动脚本添加配置(参考官网配置:https://github.com/apache/skywalking/blob/v5.0.0-alpha/docs/cn/Deploy-skywalking-agent-CN.md):
-javaagent:xxxx/skywalking-agent.jar -Dskywalking.agent.is_cache_enhanced_class=true -Dskywalking.agent.class_cache_mode=MEMORY
参数值为skywalking-agent.jar的绝对路径。
引入jar
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.4.0</version>
</dependency>
logback配置
使用日志框架logback,在resource下创建logback-spring.xml文件配置日志输出格式,配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_HOME" value="/" />
<!-- ch.qos.logback.core.ConsoleAppender 控制台输出 -->
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n