使用 Logback 向 Logstash 中输出日志
1.修改 pom.xml2.导入 logback.xml3.新建启动类
需求:随意新建一个项目把输出到控制台的日志信息也输出到 Logstash 中。
1.修改 pom.xml
ogstash-logback-encoder 就是转码后向 logstash 中输入的依赖注意: 1.如果导入的是 6.x 版本不会在控制台看见任何额外日志信息 2.如果导入的是 5.x 版本会在控制台看见 logback.xml 加载的信息
<parent>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-parent
</artifactId
>
<version>2.2.6.RELEASE
</version
>
</parent
>
<dependencies>
<dependency>
<groupId>net
.logstash
.logback
</groupId
>
<artifactId>logstash
-logback
-encoder
</artifactId
>
<version>6.3</version
>
</dependency
>
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-web
</artifactId
>
</dependency
>
</dependencies
>
2.导入 logback.xml
把logback.xml文件放到 resources 中 logback.xml 文件内容如下,红色部分表示向 logstash 中输出日志信息红色中< destination>配置的是 logstash 配置文件中 input 里面 host 和 post 的信息
<?xml version
="1.0" encoding
="UTF-8"?>
<!--该日志将日志级别不同的 log 信息保存到不同的文件中
-->
<configuration>
<include resource
="org/springframework/boot/logging/logback/defaults.xml" />
<springProperty scope
="context" name
="springAppName" source
="spring.application.name" />
<!-- 日志在工程中的输出位置
-->
<property name
="LOG_FILE" value
="${BUILD_FOLDER:-build}/${springAppName}" />
<!-- 控制台的日志输出样式
-->
<property name
="CONSOLE_LOG_PATTERN" value
="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){mag enta} %clr(---){faint} %clr([%15.15t]){faint} %m%n${LOG_EXCEPTION_CONVERS ION_WORD:-%wEx}}" />
<!-- 控制台输出
-->
<appender name
="console" class="ch.qos.logback.core.ConsoleAppender">
<filter
class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO
</level
>
</filter
>
<!-- 日志输出编码
-->
<encoder>
<pattern>$
{CONSOLE_LOG_PATTERN
}</pattern
>
<charset>utf8
</charset
>
</encoder
>
</appender
>
<!-- logstash 远程日志配置
-->
<appender name
="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.8.140:4560</destination
>
<encoder charset
="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
</appender
>
<!-- 日志输出级别
-->
<root level
="DEBUG">
<appender
-ref ref
="console" />
<appender
-ref ref
="logstash" />
</root
>
</configuration
>
3.新建启动类
新建 com.dqcgm.DemoApplication
@SpringBootApplication
public class DemoApplication {
public static void main(String
[] args
) {
SpringApplication
.run(DemoApplication
.class,args
);
}
}