springboot日志输出到logstash,logstash端没有日志输出,为啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot日志输出到logstash,logstash端没有日志输出,为啥?相关的知识,希望对你有一定的参考价值。

按照网上的配置,都配上了。可就是没有输出,项目结构如图所示:
logback-spring.xml的内容如下:
<?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">
<destination>x.x.x.x:4560</destination>
<!-- 日志输出编码 -->
<encoder charset="UTF-8"
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>

"logLevel": "%level",
"serviceName": "$springAppName:-",
"pid": "$PID:-",
"thread": "%thread",
"class": "%logger40",
"rest": "%message"

</pattern>
</pattern>
</providers>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH" />
<appender-ref ref="CONSOLE" />
</root>

</configuration>

java文件中也是引用的
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
这个包下的
private static final Logger LOGGER=LoggerFactory.getLogger(DemoApplication.class);

现在控制台有日志输出,logstash控制台没有输出,这是为什么啊?

参考技术A 志输出到logstash

docker安装ELK 收集springboot日志(方法1)

参考技术A 1 、 logstash中安装json_lines插件并重启logstash

2、在SpringBoot项目pom.xml文件中添加logstash-logback-encoder依赖

3、logback.xml文件添加配置,让logback的日志输出到logstash

4、启动springboot应用

5、使用 kibana 查看日志信息

以上是关于springboot日志输出到logstash,logstash端没有日志输出,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

docker安装ELK 收集springboot日志(方法1)

SpringBoot应用整合并使用Docker安装ELK实现日志收集

浅尝 Elastic Stack Logstash + Beats 读取 Spring Boot 日志

浅尝 Elastic Stack Logstash + Beats 读取 Spring Boot 日志

日志分析系统ELK之Logstash

日志分析系统ELK之Logstash