sleuth+zipkin日誌輸出traceId(五)
阿新 • • 發佈:2018-12-09
日誌配置
在需要追蹤的示例應用中,修改日誌配置,這裡使用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的按鈕,點開就可以看到日誌輸出了