启动配置
-Dskywalking.logging.dir=/data/project/xxx/logs/skywalking 日志目录配置
-Dskywalking.agent.service_name=xxxx 服务名字配置(UI展示用)
-Dskywalking.logging.file_name=erp-item-trace.log (日志的名字 这个其实是不必要的)
-javaagent:/agent_k8s/skywalking-agent/skywalking-agent.jar # agent绝对路径地址 must
-Dskywalking_config=/agent_k8s/erp-skywalking-agent/config/agent.config #配置文件
TraceId读取
Log4j 1.x
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-log4j-1.x</artifactId>
<version>8.0.1</version>
</dependency>
log4j.xml 配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="DEBUG_LOGGER" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.skywalking.apm.toolkit.log.log4j.v1.x.TraceIdPatternLayout">
<!-- %T ==traceId -->
<param name="ConversionPattern" value="[%T] [%t] %-d{yyyy-MM-dd HH:mm:ss.SSS} %c [%p] %m%n"/>
</layout>
</appender>
<root>
<priority value="info"/>
<appender-ref ref="DEBUG_LOGGER"/>
</root>
</log4j:configuration>
结果
[TID:d666b3fdd4b34e348655dc5ec92c03f6.54.15979952611350063] [http-nio-8080-exec-6] 2020-08-21 15:34:31.137 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:Ignored_Trace] [http-nio-8080-exec-1] 2020-08-21 15:34:42.873 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:Ignored_Trace] [http-nio-8080-exec-4] 2020-08-21 15:34:59.643 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:Ignored_Trace] [http-nio-8080-exec-9] 2020-08-21 15:35:12.213 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:Ignored_Trace] [http-nio-8080-exec-7] 2020-08-21 15:35:24.419 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:Ignored_Trace] [http-nio-8080-exec-5] 2020-08-21 15:35:38.805 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:Ignored_Trace] [http-nio-8080-exec-5] 2020-08-21 15:36:16.808 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
[TID:d666b3fdd4b34e348655dc5ec92c03f6.54.15979953839820069] [http-nio-8080-exec-6] 2020-08-21 15:36:33.983 com.***.X
[INFO]
【good】[这个是一次日志traceId的测试]
从这里可以看出数据是被采样的,不是每次请求都会被跟踪处理,可以配置agent.config来设置采样率
Logback
待安排