将Spring boot 日志主动推送到Logstash
配置SpringBoot应用向Logstash输入日志
<dependency >
<groupId >net.logstash.logback</groupId >
<artifactId >logstash-logback-encoder</artifactId >
<version >4.9</version >
</dependency >
<?xml version =" 1.0" encoding =" UTF-8" ?>
<configuration debug =" false" scan =" false" scanPeriod =" 30 seconds" >
<include resource =" org/springframework/boot/logging/logback/base.xml" />
<appender name =" LOGSTASH" class =" net.logstash.logback.appender.LogstashTcpSocketAppender" >
<param name =" Encoding" value =" UTF-8" />
<remoteHost >192.168.20.3</remoteHost >
<port >4560</port >
<!-- encoder is required -->
<encoder class =" net.logstash.logback.encoder.LogstashEncoder" />
</appender >
<logger name =" com.unionman" level =" TRACE" additivity =" false" >
<appender-ref ref =" LOGSTASH" />
<appender-ref ref =" CONSOLE" />
</logger >
<root level =" INFO" >
<appender-ref ref =" LOGSTASH" />
<appender-ref ref =" CONSOLE" />
</root >
</configuration >
<?xml version =" 1.0" encoding =" UTF-8" ?>
<configuration >
<include resource =" org/springframework/boot/logging/logback/base.xml" />
<appender name =" LOGSTASH" class =" net.logstash.logback.appender.LogstashTcpSocketAppender" >
<!-- logstash 输入地址 与logstash.conf 配置文件的input对应-->
<!-- 我这里的logstash相对地址是192.168.10.128 端口是logstash.conf input配置的端口 -->
<destination >192.168.20.3:4560</destination >
<!-- "appname":"longji-provider" 的作用是指定创建索引的名字时用,并且在生成的文档中会多了这个字段 -->
<customFields >{"appname":"longji-provider"}</customFields >
<encoder charset =" UTF-8" class =" net.logstash.logback.encoder.LogstashEncoder" />
</appender >
<root level =" INFO" >
<appender-ref ref =" LOGSTASH" />
<appender-ref ref =" CONSOLE" />
</root >
</configuration >
注意: 选择其中一种配置即可, 并修改xml中的destination
浏览器 打开 ip:5601, 创建索引即可查询springboot 测试项目的日志