SpringBoot:通过logstash统一收集日志
1.下载Logstash 7.3.1,解压,在config目录创建springboot-log.conf,input{tcp {mode => "server"host => "0.0.0.0"port => 8888codec => json_lines}}output{#elasticsearch{#hosts=>["127.0.0.1:9200"]#inde
·
1.下载Logstash 7.3.1,解压,在config目录创建springboot-log.conf,
input{
tcp {
mode => "server"
host => "0.0.0.0"
port => 8888
codec => json_lines
}
}
output{
#elasticsearch{
# hosts=>["127.0.0.1:9200"]
# index => "springboot"
#}
stdout{
codec => rubydebug
}
}
2.启动Logstash,
bin\logstash.bat -f config/springboot-log.conf
Linux环境:
bin/logstash -f config/springboot-log.conf
上述命令在jdk8下运行的。如果jdk 17 ,可能报错
3.创建spring boot应用,并在resources中创建logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>localhost:8888</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="logstash" />
</root>
</configuration>
4.在pom.xml中增加依赖,
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0</version>
</dependency>
5.添加controller,并在其中增加接口,
package cn.edu.tju.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
@RestController
public class TestController {
protected final static Logger log = LoggerFactory.getLogger(TestController.class);
@RequestMapping("/test")
public String test() {
log.info("this is a log from spring boot!");
return new Date().toLocaleString();
}
}
6.启动应用,并访问http://localhost:8085/test,
在Logstash的输出可以看到日志输出:
更多推荐
已为社区贡献18条内容
所有评论(0)