一、集成 springboot
1、pom文件添加上Logstash依赖
<!-- logback 推送日志文件到logstash -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.5</version>
</dependency>
2、修改 logback-spring.xml
1)在原有的 logback-spring.xml XML文件中添加以下代码
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--logstaship地址-->
<destination>192.168.0.100:5045</destination>
<!-- 日志输出编码 -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"logLevel": "%level",
"serviceName": "web-test",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
注意:<destination>192.168.0.100:5045</destination>中 ip 为 logstash 服务器的 ip,端口号是向 logstash 发送请求的端口,需要与 logstash 监控配置相同,端口号可随意指定,但端口号不能被占用
2)在 logback-spring.xml 添加以下配置,使其 LOGSTASH 连接信息生效
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
<appender-ref ref="LOGSTASH"/>
</root>
二、Logstash配置信息
logstash/conf.d 配置目录下新建 log_springboot.conf,新增以下配置信息:
input {
tcp {
mode => "server"
type => "web"
host => "0.0.0.0"
port => 5045
codec => json_lines
}
}
output {
if [type] == "web" {
elasticsearch {
hosts => "192.168.0.100:9200"
index => "web-log-%{+YYYY.MM.dd}"
}
stdout{codec => rubydebug}
}
}
查看结果
访问 Kibana 配置相关的索引模式并查询日志信息,如下图: