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的配置的。因此,建议使用较高的扫描频率来防止单个文件生成过多的数据量。
热门推荐
虚拟现实技术让敦煌艺术展“活”起来
“永恒的巴黎圣母院”VR展带你穿越时空
冬季有氧运动:轻度高血压患者的健康指南
握力训练:轻松搞定轻度高血压
三甲医院教你避免肠镜并发症
如何降低肠镜并发症?荷兰全国性研究给出答案
肠镜检查并发症,这些预防要点请收好
结肠镜检查并发症新突破:新技术让筛查更安全
朱小龙医生教你如何优雅地做肠镜
斗罗大陆:雪尘的神秘武魂解析
余氯超标?教你科学应对自来水安全
自来水中氯含量标准与营养影响:一文读懂
自来水里的氯,真的会害死人吗?
自来水中氯含量的安全性:科学解读与权威观点
自来水除氯新方法,你get了吗?
国庆出游新选择:姑苏旅游定制公交直达苏州博物馆
跟着贝聿铭的脚步,探秘苏州博物馆
真珠舍利宝幢:苏州博物馆的镇馆之宝
贝聿铭的封山之作:苏州博物馆新馆的建筑传奇
心理学上有一个术语叫:精神内耗(附·应对策略)
虚拟现实技术如何颠覆艺术设计?
敦煌艺术展的AR黑科技,你体验了吗?
金价跌势不止?专家分析与关键技术位揭示:黄金市场的未来走向
全红婵都追的《斗破苍穹》,到底有多火?
余杭一院内镜中心教你缓解肠镜紧张:一个患者的真实经历
肠镜检查前的完美肠道清洁攻略
在农村老家,有一种亲戚叫“没出五服”,你知道什么叫“五服”吗
俄军加码训练无人机,现代战争规则将被无人机改变?
菊斗罗新武魂融合技亮相,唐三能否破解?
菊斗罗实力被低估?真相竟是这样!