Springboot配置logback(内含logstash配置)

本文介绍了如何在Springboot项目中配置logback,并详细讲述了如何添加logstash的相关依赖,包括logback.xml的配置和pom.xml的修改。同时,提供了作者使用的logstash版本(6.2.3,适用于Windows 64位系统),并提及了logstash的配置文件logstash.conf的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

logback.xml

<?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="logback.logdir" value="C:\\logs"/>
    <property name="logback.appname" value="logfile"/>
 
	<!-- 控制台的日志输出样式 -->
	<property name="CONSOLE_LOG_PATTERN" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %m%n${LOG_EXCEPTION_CONVERSION_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>
	
	<!-- 输出到文件-前期暂时保留 -->
	<appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${logback.logdir}/${logback.appname}.log</File>
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
            <FileNamePattern>${logback.logdir}/${logback.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--只保留最近90天的日志-->
            <maxHistory>90</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <!--日志输出编码格式化-->
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>
        </encoder>
    </appender>
 
	<!-- 为logstash输出的JSON格式的Appender -->
	<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
		<destination>192.168.130.33:9250</destination>
		日志输出编码
		<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
			<providers>
				<timestamp>
					<timeZone>UTC</timeZone>
				</timestamp>
				<pattern>
					<pattern>
						{
						"severity": "%level",
						"service": "${springAppName:-}",
						"trace": "%X{X-B3-TraceId:-}",
						"span": "%X{X-B3-SpanId:-}",
						"exportable": "%X{X-Span-Export:-}",
						"pid": "${PID:-}",
						"thread": "%thread",
						"class": "%logger{40}",
						"rest": "%message",
						"stack_trace": "%exception{5}"
						}
					</pattern>
				</pattern>
			</providers>
		</encoder>
	</appender> -->
 
	<!--指定最基础的日志输出级别-->
    <root level="INFO">
        <!--appender将会添加到这个loger-->
        <appender-ref ref="fileLog"/>
        <appender-ref ref="console"/>
        <!-- <appender-ref ref="logstash"/> -->
    </root>
</configuration>

pom.xml增加

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>6.1</version>
</dependency>

我的logstash版本是6.2.3(windows-64bit)

以下是logstash.conf的配置

input {
  tcp {
    mode => "server"
    host => "192.168.130.33"
    port => 9250
  }
}
filter {
  #Only matched data are send to output.
}

output{
  elasticsearch {
    action => "index"        
    hosts  => "192.168.130.55:9200"
    index  => "test_index"
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值