spring-cloud-sleuth簡單使用
阿新 • • 發佈:2019-01-15
evel 必須 inf 快速 %x tar https nag ase
快速開始
一、導入依賴
<!--鏈路追蹤 start--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth</artifactId> <version>2.0.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--鏈路追蹤 end-->
如果是多module的記得在相應的module的pom文件添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
二、此時,啟動你的項目
你應該就可以在日誌文件看見traceId了
日誌
如果你的日誌文件是有做過格式設置的,可能一開始看不到traceId的輸出,可以使用下述的日誌格式。
<configuration> <!-- TraceId:%X{X-B3-TraceId:-} SpanId:%X{X-B3-SpanId:-}--> <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [traceId= %X{X-B3-TraceId:-}] [SpanId= %X{X-B3-SpanId:-}] %logger{5} - %msg%n"/> <appender name="rollingAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/billmanager.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/logs/heuristic-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <!-- 必須指定,否則不會往文件輸出內容 --> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>utf8</charset> </encoder> <append>false</append> <prudent>false</prudent> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>utf8</charset> </encoder> </appender> <root level="info"> <appender-ref ref="STDOUT"/> <appender-ref ref="rollingAppender"/> </root> </configuration>
獲取當前的traceId
sleuth
多用於分部署系統,和 zipkin
配合使用,不過有時候我們可能也需要在項目中獲取traceId,可以參考下述的方式。
import brave.Tracer;
@Service
public class Breadcrumb {
@Autowired
private Tracer tracer;
public String breadcrumbId() {
return tracer.currentSpan().context().traceIdString();
}
}
摘自:https://blog.michaelstrasser.com/2017/07/using-sleuth-trace-id/
參考:http://cloud.spring.io/spring-cloud-sleuth/2.0.x/multi/multi__current_span.html#_current_span
參考:https://github.com/spring-cloud/spring-cloud-sleuth/wiki/Spring-Cloud-Sleuth-2.0-Migration-Guide
spring-cloud-sleuth簡單使用