摘要
使用logstash日志插件
1 2 3 4 5
| <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>7.3</version> </dependency>
|
注意:
springboot2.7.x以下版本,建议使用logstash-logback-encoder的7.3以下版本。
springboot3.x.x以上版本,建议使用logstash-logback-encoder的7.4及以上版本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <appender name="STDOUT" 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 [%X{userName}][%X{userLocale}] %logger{50} - %M - %L - %msg%n</pattern> </encoder> </appender>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>161.189.78.202:4560</destination> <encoder class="net.logstash.logback.encoder.LogstashEncoder" > <timestampPattern>yyyy-MM-dd'T'HH:mm:ss.SSS</timestampPattern> <includeMdc>true</includeMdc> <includeCallerData>true</includeCallerData> <customFields>{"appname": "springboot-logstash-demo"}</customFields> </encoder> </appender>
<root level="info"> <appender-ref ref="STDOUT"/> <appender-ref ref="LOGSTASH"/> </root> </configuration>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| input { tcp { host => "0.0.0.0" port => "4560" mode => "server" codec => json_lines } } output { stdout { codec => rubydebug } elasticsearch { index => "%{[appname]}-%{+YYYY-MM-DD}" hosts => ["https://10.250.0.239:9200"] user => "elastic" password => "123456" ssl => true ssl_certificate_verification => false } }
|
1
| bin/logstash -f config/springboot-demo.conf --config.reload.automatic
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| { "message" => "Tomcat started on port(s): 8088 (http) with context path '/springboot-logstash'", "level_value" => 20000, "appname" => "springboot-logstash-demo", "level" => "INFO", "logger_name" => "org.springframework.boot.web.embedded.tomcat.TomcatWebServer", "@timestamp" => 2025-04-07T09:39:43.569Z, "@version" => "1", "thread_name" => "restartedMain", "caller_class_name" => "org.springframework.boot.web.embedded.tomcat.TomcatWebServer", "caller_file_name" => "TomcatWebServer.java", "caller_method_name" => "start", "caller_line_number" => 220, "userName" => "admin", "userLocale" => "zh_CN" }
|