统一日志管理方案:Spring项目logback日志与logstash和Elasticsearch整合
warning:
这篇文章距离上次修改已过185天,其中的内容可能已经有所变动。
为了整合Spring项目中的logback日志与logstash以及Elasticsearch,你需要进行以下步骤:
- 在
pom.xml
中添加logstash encoder和logback相关依赖。 - 配置logback.xml文件,使用logstash encoder。
- 配置logstash服务器和Elasticsearch。
以下是相关的配置和代码示例:
pom.xml依赖添加:
<!-- Logback Classic Module -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- Logback Encoder for Logstash -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>
</dependency>
logback.xml配置:
<configuration>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>tcp://localhost:4560</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="info">
<appender-ref ref="LOGSTASH" />
</root>
</configuration>
logstash配置:
在logstash的配置文件(如logstash.conf
)中,你需要设置input和output。
input {
tcp {
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "spring-log-%{+YYYY.MM.dd}"
}
}
以上配置将logback通过TCP发送到logstash,logstash再将日志发送到Elasticsearch。
确保logstash和Elasticsearch服务正在运行,并根据你的服务器配置调整logback.xml
和logstash.conf
中的地址和端口。
评论已关闭