SpringBoot3 配置Logback日志滚动文件

news2024/9/27 10:27:50

简介

本文介绍了在SpringBoot3中配置Logback日志滚动文件的方法,因为SpringBoot3内置的logback版本是1.4.14,之前使用SpringBoot2.1.5的logback配置发现有些东西不能生效了

环境

SpringBoot v3.3.2

内置的logback-core为1.4.14

正文

<configuration debug="false" scan="true" scanPeriod="10 seconds">
</configuration>

当我在使用SpringBoot内置的logback时,我希望在configuration标签中自定义日志文件扫描大小的时间,于是我使用了以上配置,但无论如何就是不生效。百度了很久,发现都是这么教配置的,于是我怀疑是我的SpringBoot版本过高从而内置的logback版本已经发生变更从而配置也发生了变更。

于是我另起了一个项目,将SpringBoot版本设置为2.1.5,发现以上配置可以生效。

但是我总不能因为一个日志功能而降低SpringBoot版本吧?

最后查阅官方文档,发现了这么个东西

释义:自1.3.12/1.4.12以来,鉴于检查文件大小是一项相对昂贵的操作,默认情况下每60秒执行一次。但是,您可以将不同的检查增量设置为持续时间。 

于是将logback-spring.xml的配置改成了这样

为什么是改成这样?看一段代码就明白了

TimeBasedRollingPolicy类中持有了一个TimeBasedFileNamingAndTriggeringPolicy对象,而 
TimeBasedFileNamingAndTriggeringPolicyBase是一个抽象类,
SizeAndTimeBasedFNATP是TimeBasedFileNamingAndTriggeringPolicyBase的一个实现

 再来看一遍配置

解释:

1、ch.qos.logback.core.rolling.TimeBasedRollingPolicy 是基于时间的滚动策略实现类,该类继承了ch.qos.logback.core.rolling.RollingPolicyBase类,而 fileNamePattern就是该父类中的属性

 官网文档中的说明,fileNamePattern是必须的属性

2、timeBasedFileNamingAndTriggeringPolicy是TimeBasedRollingPolicy中的一个接口对象,而ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP是该接口的实现类

3、maxFileSize和checkIncrement是SizeAndTimeBasedFNATP类的属性,分别代表着单个文件的存储量和日志文件的扫描时间,单位是毫秒,这里的10000毫秒也就是10秒钟扫描一次

至此问题得到了解决,下面是测试成功的日志文件列表 

 说明(重要)

依据时间的文件生成触发策略只能保证当到了checkIncrement的时间后开始扫描当前日志文件的大小,当数据量超过了maxFileSize,则生成新的文件。
这也就意味着,如果在checkIncrement时间内有高频率的接口调用,那么当前日志的数据量是会超过maxFileSize的配置的。只能说以较高的扫描频率去防止单文件生成更多的数据量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1985402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【预训练语言模型】 使用Transformers库进行BERT预训练

基于 HuggingFace的Transformer库&#xff0c;在Colab或Kaggle进行预训练。 鉴于算力限制&#xff0c;选用了较小的英文数据集wikitext-2 目的&#xff1a;跑通Mask语言模型的预训练流程 一、准备 1.1 安装依赖 !pip3 install --upgrade pip !pip install -U datasets !pi…

2024华数杯c题题解(一)

目录 原题背景 背景分析 问题一 思路 代码 问题二 思路 代码 原题背景 最近&#xff0c;“city 不 city”这一网络流行语在外国网红的推动下备受关注。随着我国过境免签政策的落实&#xff0c;越来越多外国游客来到中国&#xff0c;通过网络平台展示他们在华旅行的见闻…

如何利用virtuoso自动仿真占空比?

设计完一个振荡器&#xff08;OSC&#xff09;&#xff0c;我们有时候会仿真一下占空比&#xff0c;那么如何利用virtuoso软件的caculator功能自动获取呢&#xff1f; 开整&#xff01; 占空比是指在一个脉冲循环内&#xff0c;通电时间相对于总时间所占的比例。 我们在时钟上…

2023大数据-架构师案例(八)

Lambda架构 nginx &#xff08;b&#xff09; Hbase &#xff08;c&#xff09;Spark Streaming &#xff08;d&#xff09;Spark &#xff08;e&#xff09;MapReduce &#xff08;f&#xff09;ETL &#xff08;g&#xff09;MemSQL &#xff08;h&#xff09;HDFS &#x…

电机物理数学建模

电机定义 电机是以磁场为媒介&#xff0c;利用电磁感应作用进行能量转换与传递的电磁装置。机电能量转换装置&#xff0c;无论尺寸大小&#xff0c;从大型旋转电机如水轮发电机到小型机电信号变换器&#xff0c;虽然它们的用途和结构各异&#xff0c;但都基于相同的电磁场与运…

Moretl 日志采集工具

使用咨询: 扫码添加QQ 永久免费: Gitee下载最新版本 使用说明: CSDN查看使用说明 功能: 定时(全量采集or增量采集) SCADA,MES等系统采集工控机,办公电脑文件. 优势1: 开箱即用. 解压直接运行.插件集成下载. 优势2: 批管理设备. 配置均在后台配置管理. 优势3: 无人值守 采集端…

E2000 RGMII0通讯异常问题总结

最近让新来小朋友做了一款E2000Q的板卡,使用了E2000Q上的两个RGMII资源,外接YT8521转出了电口。 但是他调试中遇到了一个比较奇怪的问题,两套YT8521的电路都一样,但是一路通一路不通。 也就是框图中MAC2(芯片RGMII0,系统对应eth1)那路网络不通,图中MAC3(芯片RGMII1,…

开发Chrome浏览器插件 - 第一步

目录 1. 准备工作 2. 创建基础文件 3. 编写manifest.json 4. 编写popup.html 5. 编写background.js 6. 编写content.js 7. 加载插件 8. 测试和调试 9. 发布插件 9.1 创建开发者账号步骤 9.2 提交Chrome扩展程序步骤 1. 准备工作 安装Chrome浏览器&#xff1a;确保…

C# 中引用类型的探讨

引用类型的变量不直接包含其数据&#xff1b;它包含对其数据的引用。 如果按值传递引用类型参数&#xff0c;则可能更改属于所引 用对象的数据&#xff0c;例如类成员的值。 但是&#xff0c;不能更改引用本身的值&#xff1b;例如&#xff0c;不能使用相同引用为新对象分配内存…

根据年月将数组拆分为以年月为key的二维数组

处理前: 处理后: public function lists(): array{$field = change_type,change_amount,left_amount,action,create_time,remark;$lists

飞腾X100芯片GPU状态查询

本文档对在linux系统下查看X100芯片GPU状态信息进行说明,可以帮助大家了解芯片的实时工作状态。 板子系统信息: # cat /etc/os-release NAME="Kylin" VERSION="银河麒麟桌面操作系统V10 (SP1)" VERSION_US="Kylin Linux Desktop V10 (SP1)" I…

模块化RAG:RAG新范式,像乐高一样搭建 万字长文

1. RAG系统的发展历史与问题 RAG&#xff08;检索增强生成&#xff09;通过访问外部知识库&#xff0c;检索增强生成&#xff08;RAG&#xff09;为 LLMs 提供了关键的上下文信息&#xff0c;极大地提升了其在知识密集型任务上的表现。RAG 作为一种增强手段&#xff0c;已在众…

vue3中使用i18n实现中英文切换,引入封装+全局切换

目录 1.安装 2.引入 3.页面中使用 4.切换语言 前言 名称由来:全称是 internationalization,插件名取了首字母 i 和尾字母 n,中间一共有 18 个字母,所以组合起来就叫 i18n。 作用:通过手动配置多种语言的翻译,且可快速切换。 正文开始↓ 1.安装 npm install vue-i18…

ADAS-GPM

文章目录 AbstractIntroductionmain contribution Related work特征融合上下文信息和注意力机制超分辨率锚框分配 MethodExperiment link Abstract 微小目标检测最近的一个趋势是引入更细粒度的标签分配策略&#xff0c;为分类和回归提供有希望的监督信息。然而&#xff0c;以…

RN环境遇到的问题

空闲学习&#xff0c;记录一下遇到一些问题 RN中文网 问题1&#xff1a;npm error code CERT_HAS_EXPIRED 原因是本地 证书过期解决办法参考 npx react-native init testProject报错&#xff1a; npm error code CERT_HAS_EXPIRED npm error errno CERT_HAS_EXPIRED npm er…

20240806吃干榨尽飞凌OK3588-C的8+64的核心板的eMMC存储空间resize2fs

20240806吃干榨尽飞凌OK3588-C的864的核心板的eMMC存储空间 2024/8/6 11:25 缘起&#xff0c;使用了飞凌OK3588-C的864的核心板&#xff0c;但是默认的LINUX R4版本的SDK编译的IMG固件&#xff0c;刷机之后貌似默认只使用了32GB&#xff1f;的eMCC空间。 联系飞凌提供了resize2…

【ML】为什么要做batch normlization,怎么做batch normlization

为什么要做batch normlization&#xff0c;怎么做batch normlization 1. batch normlization1.1 批量归一化是什么&#xff1a;1.2 为什么要做批量归一化&#xff1a; 2. feature normalization2.1 特征归一化是什么&#xff1a;2.2 为什么要做特征归一化&#xff1a; 3. batc…

Linux中apache服务安装与mysql安装

目录 一、apache安装 二、MySQL安装 一、apache安装 准备环境&#xff1a;一台虚拟机、三个安装包&#xff08;apr-1.6.2.tar.gz、apr-util-1.6.0.tar.gz、httpd-2.4.29.tar.bz2) 安装过程&#xff1a; tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar xf http…

怎么限制电脑不能打开某个网页或网站(四个方法你可一定要学会)

老板&#xff1a;我公司的员工真的很让人头疼。 朋友&#xff1a;怎么了&#xff1f; 老板&#xff1a;我一不在就有人偷偷打开某些违法网站&#xff0c;画面不可描述啊&#xff01; 朋友&#xff1a;难道你还不知道可以禁止员工打开某个网站&#xff1f; 老板&#xff1a;…

传奇三职业复古单机版+无需虚拟机一键安装

今天给大家带来一款单机游戏的架设&#xff1a;传奇单机版。沉默版本 三职业 数值不变态 &#xff0c;没有花里胡哨的东西&#xff08;比如切割&#xff0c;生肖&#xff0c;时装等功能&#xff09;&#xff0c;客户端为16周年客户端 。另外&#xff1a;本人承接各种游戏架设&a…