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的配置的。因此,建议使用较高的扫描频率来防止单个文件生成过多的数据量。
热门推荐
曼联再遭伤病侵袭,阿莫林或启用单场10球小妖!欲斩热刺扭转颓势
全球未解之谜2:传说中的亚特兰蒂斯 位于今天的非洲大陆上?
小红书年度关键词“抽象”,2025的社媒可能是这样的
《你唯一要做的就是接纳自己》:21天敲击练习,开启自我疗愈之旅
同是刘邦手下,为啥韩信、彭越等封王,周勃、樊哙等却没有封王?
租房还是买房?公租房申请条件全解析
乡村振兴:以诗歌的形式回应新时代文艺思潮
深入解析ISBN号码的规律及其验证方法
四个数字有多少种组合 四个数字如何排列
支撑我国能源转型的灵活燃煤发电新技术:燃煤耦合储能系统及智能控制系统
Web3 开发中需要注意的关键事项
择日吉日吉时法要诀
肾病常见且对身体影响极大的4项并发症
感冒了可以吃巧克力吗
掌握五笔输入法技巧,提升打字效率
家庭简易版姜母鸭制作指南
专科毕业生报考公务员的机会与挑战:适合吗?难度如何解析(2024版)
海南海口拍照好看的地方推荐及位置指南
集成显卡与独立显卡的全面对比:优劣分析与适用场景解析
“神药”一用,鼻塞消失?当心反跳!
系统综述(Systematic Review)介绍及撰写步骤
《艾尔登法环》双小曲跳劈流玩法分享
霜降时节注意这些健康提示
从《大染坊》原著卢家俊的一句话,就可以读出国民党失败的原因
祖传包子馅料配方大公开:猪肉与牛肉的美味秘诀
KANO模型:产品需求分级的实用指南
用生动的例子,让你的文字更有说服力
魔法禁书目录:全角色深度解析与独到见解
双男主小说:一种独特的叙事方式
张志和的《渔歌子》原文是什么?好在哪里?