最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot3配置Logback日志滾動文件的方法

 更新時間:2024年08月07日 09:54:21   作者:辛丑年正月十五  
本文介紹了在SpringBoot3中配置Logback日志滾動文件的方法,因為SpringBoot3內(nèi)置的logback版本是1.4.14,之前使用SpringBoot2.1.5的logback配置發(fā)現(xiàn)有些東西不能生效了,需要的朋友可以參考下

簡介

本文介紹了在SpringBoot3中配置Logback日志滾動文件的方法,因為SpringBoot3內(nèi)置的logback版本是1.4.14,之前使用SpringBoot2.1.5的logback配置發(fā)現(xiàn)有些東西不能生效了

環(huán)境

SpringBoot v3.3.2

內(nèi)置的logback-core為1.4.14

正文

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

當(dāng)我在使用SpringBoot內(nèi)置的logback時,我希望在configuration標(biāo)簽中自定義日志文件掃描大小的時間,于是我使用了以上配置,但無論如何就是不生效。百度了很久,發(fā)現(xiàn)都是這么教配置的,于是我懷疑是我的SpringBoot版本過高從而內(nèi)置的logback版本已經(jīng)發(fā)生變更從而配置也發(fā)生了變更。

于是我另起了一個項目,將SpringBoot版本設(shè)置為2.1.5,發(fā)現(xiàn)以上配置可以生效。

但是我總不能因為一個日志功能而降低SpringBoot版本吧?

最后查閱官方文檔,發(fā)現(xiàn)了這么個東西

釋義:自1.3.12/1.4.12以來,鑒于檢查文件大小是一項相對昂貴的操作,默認情況下每60秒執(zhí)行一次。但是,您可以將不同的檢查增量設(shè)置為持續(xù)時間。 

于是將logback-spring.xml的配置改成了這樣

為什么是改成這樣?看一段代碼就明白了

TimeBasedRollingPolicy類中持有了一個TimeBasedFileNamingAndTriggeringPolicy對象,而TimeBasedFileNamingAndTriggeringPolicyBase是一個抽象類,SizeAndTimeBasedFNATP是TimeBasedFileNamingAndTriggeringPolicyBase的一個實現(xiàn)

 再來看一遍配置

解釋:

1、ch.qos.logback.core.rolling.TimeBasedRollingPolicy 是基于時間的滾動策略實現(xiàn)類,該類繼承了ch.qos.logback.core.rolling.RollingPolicyBase類,而 fileNamePattern就是該父類中的屬性

官網(wǎng)文檔中的說明,fileNamePattern是必須的屬性

2、timeBasedFileNamingAndTriggeringPolicy是TimeBasedRollingPolicy中的一個接口對象,而ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP是該接口的實現(xiàn)類

3、maxFileSize和checkIncrement是SizeAndTimeBasedFNATP類的屬性,分別代表著單個文件的存儲量和日志文件的掃描時間,單位是毫秒,這里的10000毫秒也就是10秒鐘掃描一次

至此問題得到了解決,下面是測試成功的日志文件列表 

說明(重要) 依據(jù)時間的文件生成觸發(fā)策略只能保證當(dāng)?shù)搅薱heckIncrement的時間后開始掃描當(dāng)前日志文件的大小,當(dāng)數(shù)據(jù)量超過了maxFileSize,則生成新的文件。

這也就意味著,如果在checkIncrement時間內(nèi)有高頻率的接口調(diào)用,那么當(dāng)前日志的數(shù)據(jù)量是會超過maxFileSize的配置的。只能說以較高的掃描頻率去防止單文件生成更多的數(shù)據(jù)量。

以上就是SpringBoot3配置Logback日志滾動文件的方法的詳細內(nèi)容,更多關(guān)于SpringBoot3 Logback滾動文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring中的Devtools源碼解析

    Spring中的Devtools源碼解析

    這篇文章主要介紹了Spring中的Devtools源碼解析,Spring中的Devtools是一個開發(fā)工具,旨在提高開發(fā)人員的生產(chǎn)力和開發(fā)體驗,它提供了一系列功能,包括自動重啟、熱部署、遠程調(diào)試等,使開發(fā)人員能夠更快速地進行代碼修改和調(diào)試,需要的朋友可以參考下
    2023-10-10
  • springboot中redis的緩存穿透問題實現(xiàn)

    springboot中redis的緩存穿透問題實現(xiàn)

    這篇文章主要介紹了springboot中redis的緩存穿透問題實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 詳解Java設(shè)計模式編程中的里氏替換原則

    詳解Java設(shè)計模式編程中的里氏替換原則

    這篇文章主要介紹了Java設(shè)計模式編程中的里氏替換原則,有這個名字是因為這是由麻省理工學(xué)院的一位姓里的女士Barbara Liskov提出來的(嗯...),需要的朋友可以參考下
    2016-02-02
  • Java開發(fā)中的容器概念、分類與用法深入詳解

    Java開發(fā)中的容器概念、分類與用法深入詳解

    這篇文章主要介紹了Java開發(fā)中的容器概念、分類與用法,結(jié)合實例形式較為詳細的分析了java容器的相關(guān)概念、分類、使用方法與注意事項,需要的朋友可以參考下
    2017-11-11
  • Java中Scanner的使用及nextLine和nextInt等混用報錯解決方案

    Java中Scanner的使用及nextLine和nextInt等混用報錯解決方案

    Scanner類用于從控制臺輸入數(shù)據(jù),常用方法包括next()、nextLine()、nextInt()、nextDouble()和nextBoolean(),案例測試和常見錯誤情況分析表明,nextDouble等方法不會跳過空格和回車,而nextLine會讀取整行并跳到下一行
    2026-03-03
  • 如何使用ActiveMQ中間件方式發(fā)送郵件

    如何使用ActiveMQ中間件方式發(fā)送郵件

    這篇文章主要介紹了如何使用ActiveMQ中間件方式發(fā)送郵件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring過濾器中OncePerRequestFilter應(yīng)用實現(xiàn)

    Spring過濾器中OncePerRequestFilter應(yīng)用實現(xiàn)

    OncePerRequestFilter是Spring框架提供的一個過濾器基類,本文就來介紹一下Spring過濾器中OncePerRequestFilter應(yīng)用實現(xiàn),感興趣的可以了解一下
    2024-12-12
  • JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)

    JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)

    本文主要介紹了 JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 透徹理解Java中Synchronized(對象鎖)和Static Synchronized(類鎖)的區(qū)別

    透徹理解Java中Synchronized(對象鎖)和Static Synchronized(類鎖)的區(qū)別

    這篇文章主要介紹了Java中Synchronized(對象鎖)和Static Synchronized(類鎖)的區(qū)別,希望對大家有所幫助,一起跟隨小編過來看看吧
    2018-05-05
  • 深入了解Java定時器中的Timer的原理

    深入了解Java定時器中的Timer的原理

    這篇文章主要介紹了Java定時器中的Timer的原理。Timer主要用于Java線程里指定時間或周期運行任務(wù),它是線程安全的,但不提供實時性(real-time)保證。接下來就跟隨小編一起深入了解Timer吧
    2022-01-01

最新評論

新泰市| 启东市| 当雄县| 汤阴县| 兰西县| 滨海县| 长泰县| 涪陵区| 资源县| 六安市| 郑州市| 云安县| 临沂市| 淳化县| 华池县| 周口市| 庄河市| 青龙| 罗田县| 化隆| 石棉县| 洮南市| 呼伦贝尔市| 报价| 封丘县| 梁河县| 依兰县| 益阳市| 商丘市| 怀柔区| 招远市| 长汀县| 广昌县| 吐鲁番市| 兰考县| 乃东县| 山阴县| 阜阳市| 潜山县| 邓州市| 拜泉县|