logback日志切割问题


前言

最近一个新的消息推送的接口调用量激增,导致日志文件大小太大,达到将近2G左右。使用less命令查找日志的时候,内存占用太大,服务器告警了。


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用的包

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-logging</artifactId>
</dependency>

二、解决方案

1.将日志文件切割

目前是按天切割的,所以文件大小特别大(2G左右),无法在服务器上正常查看文件。

现有logback-spring.xml部分:

<!-- 获取比info级别高(包括info级别)但除error级别的日志 -->
<appender name="file-info" class="ch.qos.logback.core.rolling.RollingFileAppender">
	<file>${logPath}/${appName}-info.log</file>
	<!-- 指定收集策略:滚动策略-->
	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
		<!-- 指定生成日志保存地址 -->
		<fileNamePattern>${logPath}/${appName}-info.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
		<maxHistory>30</maxHistory>
	</rollingPolicy>
	<layout class="ch.qos.logback.classic.PatternLayout">
		<Pattern>%d [%thread] %-5level %logger[%line] - %msg%n</Pattern>
	</layout>
</appender>

修改之后logback-spring.xml:

<!-- 获取比info级别高(包括info级别)但除error级别的日志 -->
<appender name="file-info" class="ch.qos.logback.core.rolling.RollingFileAppender">
	<!-- 指定过滤策略 -->
	<file>${logPath}/${appName}-info.log</file>
	<!-- 指定收集策略:滚动策略-->
	<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
		<!-- 指定生成日志保存地址 -->
		<fileNamePattern>${logPath}/%d{yyyy-MM-dd}/${appName}-info.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
		<maxFileSize>200MB</maxFileSize>
		<maxHistory>30</maxHistory>
	</rollingPolicy>
	<layout class="ch.qos.logback.classic.PatternLayout">
		<Pattern>%d [%thread] %-5level %logger[%line] - %msg%n</Pattern>
	</layout>
</appender>

修改之后,日志文件按照日期切割,并且单个文件大小达到200MB之后,会再次进行切割。

2.修改项

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值