日志配置
在需要追踪的示例应用中,修改日志配置,这里使用springboot构建,logback作为日志输出工具
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS}[%X{X-B3-TraceId:-},%X{X-B3-SpanId:-}] [%thread] %-5level %logger{50} - %msg%n"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_FILE}-%i.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
<!--日志文件最大的大小-->
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
FILE_LOG_PATTERN 中添加[%X{X-B3-TraceId:-},%X{X-B3-SpanId:-}]
表示在打印日志的时候输出traceID和spanId
结合kibana
在zipkin-ui项目中添加配置
zipkin.ui.logs-url = http://kibana.company.com/query={traceId}
logs-url 这个变量填写的就是日志查询接口,我这里使用的是kibana,所以写的是他,如果你使用的是其他的,也是OK的
配置添加之后,在trace详情页可以看到有一个名为logs的按钮,点开就可以看到日志输出了