-
说明:
- 因为我在项目中使用的是spring默认的logback日志框架,所以在这里我们引入logback的编码器logstash-logback-encoder。
- 对于logstash-logback-encoder的版本,与7.14匹配的是6.x,我选用的是6版本的最新版本6.6。
-
引入依赖
<dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>6.6</version> </dependency>
-
配置logstash的服务器地址以及对应的日志输出器,添加自定义的logback.xml配置文件。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>172.20.171.2:5044</destination> <encoder class="net.logstash.logback.encoder.LogstashEncoder"> </encoder> </appender> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{X-B3-TraceId},%X{X-B3-SpanId}] %logger{36} - %msg%n</pattern> </encoder> </appender> <!--设置根日志级别为INFO,将日志事件输出到Logstash输出器中--> <root level="INFO"> <appender-ref ref="logstash"/> <appender-ref ref="console"/> </root> </configuration>
tips:建议配置logstash地址的时候使用内网地址,可以极大的减少网络延迟,保证日志的实时和安全。