欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot日志的使用與多個日志框架沖突問題及解決

 更新時間:2025年02月19日 08:39:17   作者:worilb  
文章介紹了日志級別、日志分類、logback、log4j、log4j2的使用方法,并討論了統(tǒng)一日志標(biāo)準(zhǔn)的重要性,還提到了各種日志類Jar包的用途,以及如何實現(xiàn)SLF4J門面以兼容不同的日志框架

springboot日志的使用與多個日志框架沖突

1.日志級別

從低至高為:ALL——DEBUG——INFO——WARN——ERROR——OFF,

日志級別越低打印的日志越詳細(xì)。

2.日志分類

  • 項目根日志(RootLogger):全局日志,一個項目只有一個根日志
  • 子日志(Logger):包級別日志,一個項目中可以有多個子日志

3.logback日志的使用

springboot默認(rèn)使用logback日志。




4.log4j的使用

<!--        log4j依賴-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>

5.log4j2的使用

<!--        log4j2依賴-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
        </dependency>


6.統(tǒng)一日志標(biāo)準(zhǔn)

1.三種日志框架(實現(xiàn)不同門面)同時使用演示



從前面的例子我們可以看出,Logback已經(jīng)默認(rèn)實現(xiàn)了slf4j標(biāo)準(zhǔn),而Log4j和Log4j2并沒有實現(xiàn)。

2.log4j實現(xiàn)slf4j門面



<!--        springboot啟動器依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
<!--                    排除logback包-->
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

3.log4j2實現(xiàn)slf4j門面


<!--        log4j2實現(xiàn)slf4j依賴-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
        </dependency>


<!--        springboot啟動器依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
<!--                    排除logback包-->
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                </exclusion>
                <exclusion>
<!--                    排除log4j2橋接slf4j依賴-->
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-to-slf4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

7.各種日志類Jar包用途

  • slf4j提供:
jcl-over-slf4j.jar  -->    (jcl    -> slf4j)    將Jakarta Commons Logging日志框架到 slf4j 的橋接  
jul-to-slf4j.jar    -->    (juc    -> slf4j)    將java.util.logging的日志橋接到 slf4j  
log4j-over-slf4j.jar-->    (log4j  -> slf4j)    將log4j 的日志,橋接到slf4j  
osgi-over-slf4j.jar -->    (osgi   -> slf4j)    將osgi環(huán)境下的日志,橋接到slf4j  
slf4j-android.jar   -->    (android-> slf4j)    將android環(huán)境下的日志,橋接到slf4j  
slf4j-api.jar       -->                         slf4j 的api接口jar包  
slf4j-ext.jar       -->                         擴展功能  
slf4j-jcl.jar       -->    (lf4j -> jcl )          slf4j 轉(zhuǎn)接到 Jakarta Commons Logging日志輸出框架  
slf4j-jdk14.jar     -->    (slf4j -> jul )          slf4j 轉(zhuǎn)接到 java.util.logging,所以這個包不能和jul-to-slf4j.jar同時用,否則會死循環(huán)!!  
slf4j-log4j12.jar   -->    (slf4j -> log4j)         slf4j 轉(zhuǎn)接到 log4j,所以這個包不能和log4j-over-slf4j.jar同時用,否則會死循環(huán)!!  
slf4j-migrator.jar  -->                                       一個GUI工具,支持將項目代碼中 JCL,log4j,java.util.logging的日志API轉(zhuǎn)換為slf4j的寫法  
slf4j-nop.jar       -->    (slf4j -> null)          slf4j的空接口輸出綁定,丟棄所有日志輸出  
slf4j-simple.jar    -->    (slf4j -> slf4j-simple ) slf4j的自帶的簡單日志輸出接口
  • log4j2提供:
log4j-1.2-api.jar   -->    (log4j  -> log4j2)               將log4j 的日志轉(zhuǎn)接到log4j2日志框架  
log4j-api.jar       -->                                     log4j2的api接口jar包  
log4j-core.jar      -->    (          log4j2 -> log4j-core) log4j2的日志輸出核心jar包  
log4j-slf4j-impl.jar-->    (slf4j  -> log4j2)               slf4j 轉(zhuǎn)接到 log4j2 的日志輸出框架  (不能和 log4j-to-slf4j同時用)  
log4j-to-slf4j.jar  -->    (          log4j2 -> slf4j)      將 log4j2的日志橋接到 slf4j  (不能和 log4j-slf4j-impl 同時用)  

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring中存對象和取對象的方式詳解

    Spring中存對象和取對象的方式詳解

    這篇文章主要介紹了Spring中存對象和取對象的方式,Spring中更簡單的存對象與取對象的方式是注解,注解實現(xiàn)有兩種方式:一在編譯的時候,把注解替換成相關(guān)代碼,并添加到我們原來的代碼中,二攔截方法,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-08-08
  • JAVA調(diào)用Deepseek的api完成基本對話簡單代碼示例

    JAVA調(diào)用Deepseek的api完成基本對話簡單代碼示例

    這篇文章主要介紹了JAVA調(diào)用Deepseek的api完成基本對話的相關(guān)資料,文中詳細(xì)講解了如何獲取DeepSeek?API密鑰、添加HTTP客戶端依賴、創(chuàng)建HTTP請求并使用示例代碼來對接DeepSeek?API,需要的朋友可以參考下
    2025-02-02
  • JavaWeb?使用DBUtils實現(xiàn)增刪改查方式

    JavaWeb?使用DBUtils實現(xiàn)增刪改查方式

    這篇文章主要介紹了JavaWeb?使用DBUtils實現(xiàn)增刪改查方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • springcloud如何配置文件加載順序

    springcloud如何配置文件加載順序

    這篇文章主要介紹了springcloud如何配置文件加載順序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • mybatis?resultMap沒有全部對應(yīng)的字段處理方式

    mybatis?resultMap沒有全部對應(yīng)的字段處理方式

    這篇文章主要介紹了mybatis?resultMap沒有全部對應(yīng)的字段處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot使用Apache POI庫讀取Excel文件的操作詳解

    SpringBoot使用Apache POI庫讀取Excel文件的操作詳解

    在日常開發(fā)中,我們經(jīng)常需要處理Excel文件中的數(shù)據(jù),無論是從數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)、處理數(shù)據(jù)報表,還是批量生成數(shù)據(jù),都可能會遇到需要讀取和操作Excel文件的場景,本文將詳細(xì)介紹如何使用Java中的Apache POI庫來讀取Excel文件,需要的朋友可以參考下
    2025-01-01
  • 淺談Spring Data Redis讀不到設(shè)進去的值

    淺談Spring Data Redis讀不到設(shè)進去的值

    本文主要介紹了Spring Data Redis怎么讀不到我剛才設(shè)進去的值,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • SpringCloud?Nacos服務(wù)分級存儲模型詳解

    SpringCloud?Nacos服務(wù)分級存儲模型詳解

    Nacos服務(wù)分級存儲模型是Nacos存儲服務(wù)注冊信息和配置信息的核心模型之一,本文將對?Nacos?服務(wù)分級存儲模型進行深入解析,感興趣的朋友一起看看吧
    2024-02-02
  • MybatisPlus條件查詢的具體使用

    MybatisPlus條件查詢的具體使用

    MybatisPlus通過條件構(gòu)造器可以組裝復(fù)雜的查詢條件,本文主要介紹了MybatisPlus條件查詢的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 一文詳細(xì)講解Java時間格式轉(zhuǎn)換

    一文詳細(xì)講解Java時間格式轉(zhuǎn)換

    這篇文章主要介紹了Java時間格式轉(zhuǎn)換的相關(guān)資料,文中詳細(xì)介紹了SimpleDateFormat(適用于Java8之前)和java.time(適用于Java8及之后)的用法,需要的朋友可以參考下
    2024-12-12

最新評論