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的配置的。因此,建议使用较高的扫描频率来防止单个文件生成过多的数据量。
热门推荐
张掖美食攻略
近7届两院院士增选情况回顾!来预测下今年院士又有多少新增?
什么是胃肠道间质瘤?一文读懂GIST的病因、症状与治疗
红萼轩词牌:一部清代词牌书籍的精美艺术
工业控制系统与PLC,核心技术与应用探讨
8月种瓜季,这6种瓜类赶紧种植,耐晒易长结瓜多,大家都爱种
详解麦肯锡方法:结构化分析问题的技术
炒股,怎样回避上涨趋势的调整?
《鸟鸣涧》赏析
回顾2024丨从年终盘点看四川工业“硬脊梁”中的绵阳力量
【统统告诉你】吹响PPI基期轮换“集结号”
深化校企合作共建“数据之门”,上海闵职院探索职业教育赋能新质生产力
人类有希望走出银河系吗
嘴角长疮怎么办?多种原因及科学治疗方法全解析
AI 监考来袭:中国考场大变革,作弊无处遁形!
轻松诉讼第一步,要素式起诉状来帮忙!
精准掌控尺寸误差:详解公差计算方法
三峡人家景区旅游攻略:景点介绍、开放时间及实用信息
基因与环境的相互作用
干香菇怎么挑选? 原来干香菇不能只挑大小,符合4点才能买,难怪香菇苦涩,不爽滑
第一次连接 Git 如何拉取代码:小白必读
辣椒的生长环境条件及特点(掌握辣椒的生长环境,提高辣椒产量与品质)
“做你自己,因为别人已经有人做了。”——奥斯卡·王尔德
音频播放示例
经典动画《小鲤鱼跳龙门》:一段跨越半世纪的追梦之旅
北京地铁M101线一期工程全面建设,通顺路站围护结构施工开始
玉兰花几月份开花?花期多长时间?
士角炮的克星布局
实时渲染技术介绍:实时渲染与一般渲染的区别
某日化集团数字化转型实践:从文化到技术的全方位变革