SpringBoot3 配置Logback日志滚动文件
创作时间:
作者:
@小白创作中心
SpringBoot3 配置Logback日志滚动文件
引用
CSDN
1.
https://blog.csdn.net/cm777/article/details/140955931
本文将详细介绍在SpringBoot3中配置Logback日志滚动文件的方法。由于SpringBoot3内置的Logback版本升级到了1.4.14,一些原有的配置可能不再适用。本文将通过具体的配置示例和代码分析,帮助读者解决在实际开发中遇到的日志配置问题。
环境
SpringBoot v3.3.2
内置的logback-core为1.4.14
配置问题与解决方案
在使用SpringBoot内置的Logback时,作者希望在configuration
标签中自定义日志文件扫描大小的时间,于是尝试了以下配置:
<configuration debug="false" scan="true" scanPeriod="10 seconds">
</configuration>
但是无论怎样配置,发现该设置始终不生效。经过调查发现,这是由于SpringBoot版本升级导致内置的Logback版本变更,从而配置方式也发生了变化。
在查阅官方文档后,作者发现了一个重要的说明:
自1.3.12/1.4.12以来,鉴于检查文件大小是一项相对昂贵的操作,默认情况下每60秒执行一次。但是,您可以将不同的检查增量设置为持续时间。
因此,需要将logback-spring.xml
的配置修改为以下形式:
通过分析相关代码可以进一步理解这个配置:
TimeBasedRollingPolicy类中持有了一个TimeBasedFileNamingAndTriggeringPolicy对象,而
TimeBasedFileNamingAndTriggeringPolicyBase是一个抽象类,
SizeAndTimeBasedFNATP是TimeBasedFileNamingAndTriggeringPolicyBase的一个实现
最终的配置如下:
ch.qos.logback.core.rolling.TimeBasedRollingPolicy
是基于时间的滚动策略实现类,该类继承了ch.qos.logback.core.rolling.RollingPolicyBase
类,而fileNamePattern
就是该父类中的属性。官网文档中的说明,fileNamePattern
是必须的属性。timeBasedFileNamingAndTriggeringPolicy
是TimeBasedRollingPolicy
中的一个接口对象,而ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP
是该接口的实现类。maxFileSize
和checkIncrement
是SizeAndTimeBasedFNATP
类的属性,分别代表着单个文件的存储量和日志文件的扫描时间,单位是毫秒,这里的10000毫秒也就是10秒钟扫描一次。
测试结果
经过上述配置调整后,日志文件能够按照预期进行滚动,以下是测试成功的日志文件列表:
重要说明
需要注意的是,基于时间的文件生成触发策略只能保证当到了checkIncrement
的时间后开始扫描当前日志文件的大小,当数据量超过了maxFileSize
,则生成新的文件。这也就意味着,如果在checkIncrement
时间内有高频率的接口调用,那么当前日志的数据量是会超过maxFileSize
的配置的。因此,建议使用较高的扫描频率来防止单个文件生成过多的数据量。
热门推荐
出生年份五行对照表:一查就懂的命理指南
果园用喷灌好还是滴灌好?
眼部手术方式选择与术后护理指南
家常黄豆炒肉丁,做法简单豆子软烂,白米饭的好搭档!
找律师会见家人吗?解析刑事案件中律师会见的意义与程序
员工有任何不满,老板你都别视而不见
IT架构思想---架构抽象
王者荣耀达摩玩法攻略
怎么解决牙黄问题
身高是否与脚长有关
软件项目中的预算超支怎么办?
蹲下站起來頭暈?姿勢性低血壓的定義、原因、治療
edge浏览器如何更改缓存位置
马桶水效等级解析及选购原则
深度解析:专科警校有必要上吗?入警难度大吗?毕业后是辅警?
什么是保守力
茶道入门指南:从基本知识到实践体验
血红素的正常值是多少
个人债务转让的法律规定有哪些
BIOS版本检查与更新全攻略:从Windows命令行到硬件工具
安徽省规划近十年皖北交通新干线:亳蚌城际铁路,何时纳规待定
曾经的汽车第一帝国,百年传统车企通用的发展史
AI如何革新游戏场景设计:提升效率与创意新纪元
甄嬛抬旗意味着什么?懂了八旗制度就知道皇后脸色为啥难看了
久咳不止干咳有哪5种自然疗法?
茶艺师知识科普:六大茶类茶叶储存秘籍
不同茶叶的保质期,你都知道吗?
居民医疗保险报销流程有哪些
山海经到底是本什么样的奇书?
雷·达利欧(Ray Dalio)的20条《原则》