feat:新增链路追踪的日志记录

dev
gtl 2024-05-20 22:41:36 +08:00
parent ae42198a13
commit e3f02b4cf8
7 changed files with 77 additions and 3 deletions

View File

@ -64,6 +64,12 @@
<artifactId>spring-cloud-starter-zipkin</artifactId> <artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.2.8.RELEASE</version> <version>2.2.8.RELEASE</version>
</dependency> </dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.2</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -33,3 +33,7 @@ spring:
sleuth: sleuth:
sampler: sampler:
probability: 1.0 probability: 1.0
logging:
level:
com.ruoyi.auth: DEBUG
config: classpath:logback.xml

View File

@ -56,7 +56,35 @@
<onMismatch>DENY</onMismatch> <onMismatch>DENY</onMismatch>
</filter> </filter>
</appender> </appender>
<!-- Logstash -->
<!-- 为logstash输出的JSON格式的Appender -->
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.44.128:5044</destination>
<!-- 日志输出编码 -->
<encoder
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"severity": "%level",
"service": "${springAppName:-}",
"trace": "%X{X-B3-TraceId:-}",
"span": "%X{X-B3-SpanId:-}",
"exportable": "%X{X-Span-Export:-}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<!-- 系统模块日志级别控制 --> <!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info"/> <logger name="com.ruoyi" level="info"/>
<!-- Spring日志级别控制 --> <!-- Spring日志级别控制 -->
@ -64,6 +92,7 @@
<root level="info"> <root level="info">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="logstash" />
</root> </root>
<!--系统操作日志--> <!--系统操作日志-->

View File

@ -5,7 +5,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.io.File; import java.io.File;
/** /**

View File

@ -90,6 +90,12 @@
<artifactId>spring-cloud-starter-zipkin</artifactId> <artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.2.8.RELEASE</version> <version>2.2.8.RELEASE</version>
</dependency> </dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.2</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -36,3 +36,4 @@ spring:
logging: logging:
level: level:
com.ruoyi.system.mapper: DEBUG com.ruoyi.system.mapper: DEBUG
config: classpath:logback.xml

View File

@ -56,7 +56,35 @@
<onMismatch>DENY</onMismatch> <onMismatch>DENY</onMismatch>
</filter> </filter>
</appender> </appender>
<!-- Logstash -->
<!-- 为logstash输出的JSON格式的Appender -->
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.44.128:5044</destination>
<!-- 日志输出编码 -->
<encoder
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"severity": "%level",
"service": "${springAppName:-}",
"trace": "%X{X-B3-TraceId:-}",
"span": "%X{X-B3-SpanId:-}",
"exportable": "%X{X-Span-Export:-}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<!-- 系统模块日志级别控制 --> <!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info"/> <logger name="com.ruoyi" level="info"/>
<!-- Spring日志级别控制 --> <!-- Spring日志级别控制 -->
@ -64,6 +92,7 @@
<root level="info"> <root level="info">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="logstash" />
</root> </root>
<!--系统操作日志--> <!--系统操作日志-->