springboot日志的使用與多個(gè)日志框架沖突問(wèn)題及解決
springboot日志的使用與多個(gè)日志框架沖突
1.日志級(jí)別
從低至高為:ALL——DEBUG——INFO——WARN——ERROR——OFF,
日志級(jí)別越低打印的日志越詳細(xì)。
2.日志分類
- 項(xiàng)目根日志(RootLogger):全局日志,一個(gè)項(xiàng)目只有一個(gè)根日志
- 子日志(Logger):包級(jí)別日志,一個(gè)項(xiàng)目中可以有多個(gè)子日志
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.三種日志框架(實(shí)現(xiàn)不同門面)同時(shí)使用演示
從前面的例子我們可以看出,Logback已經(jīng)默認(rèn)實(shí)現(xiàn)了slf4j標(biāo)準(zhǔn),而Log4j和Log4j2并沒(méi)有實(shí)現(xiàn)。
2.log4j實(shí)現(xiàn)slf4j門面
<!-- springboot啟動(dòng)器依賴--> <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實(shí)現(xiàn)slf4j門面
<!-- log4j2實(shí)現(xiàn)slf4j依賴--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </dependency> <!-- springboot啟動(dòng)器依賴--> <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 --> 擴(kuò)展功能 slf4j-jcl.jar --> (lf4j -> jcl ) slf4j 轉(zhuǎn)接到 Jakarta Commons Logging日志輸出框架 slf4j-jdk14.jar --> (slf4j -> jul ) slf4j 轉(zhuǎn)接到 java.util.logging,所以這個(gè)包不能和jul-to-slf4j.jar同時(shí)用,否則會(huì)死循環(huán)!! slf4j-log4j12.jar --> (slf4j -> log4j) slf4j 轉(zhuǎn)接到 log4j,所以這個(gè)包不能和log4j-over-slf4j.jar同時(shí)用,否則會(huì)死循環(huán)!! slf4j-migrator.jar --> 一個(gè)GUI工具,支持將項(xiàng)目代碼中 JCL,log4j,java.util.logging的日志API轉(zhuǎn)換為slf4j的寫法 slf4j-nop.jar --> (slf4j -> null) slf4j的空接口輸出綁定,丟棄所有日志輸出 slf4j-simple.jar --> (slf4j -> slf4j-simple ) slf4j的自帶的簡(jiǎn)單日志輸出接口
- 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同時(shí)用) log4j-to-slf4j.jar --> ( log4j2 -> slf4j) 將 log4j2的日志橋接到 slf4j (不能和 log4j-slf4j-impl 同時(shí)用)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA調(diào)用Deepseek的api完成基本對(duì)話簡(jiǎn)單代碼示例
這篇文章主要介紹了JAVA調(diào)用Deepseek的api完成基本對(duì)話的相關(guān)資料,文中詳細(xì)講解了如何獲取DeepSeek?API密鑰、添加HTTP客戶端依賴、創(chuàng)建HTTP請(qǐng)求并使用示例代碼來(lái)對(duì)接DeepSeek?API,需要的朋友可以參考下2025-02-02JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式
這篇文章主要介紹了JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12mybatis?resultMap沒(méi)有全部對(duì)應(yīng)的字段處理方式
這篇文章主要介紹了mybatis?resultMap沒(méi)有全部對(duì)應(yīng)的字段處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03SpringBoot使用Apache POI庫(kù)讀取Excel文件的操作詳解
在日常開(kāi)發(fā)中,我們經(jīng)常需要處理Excel文件中的數(shù)據(jù),無(wú)論是從數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)、處理數(shù)據(jù)報(bào)表,還是批量生成數(shù)據(jù),都可能會(huì)遇到需要讀取和操作Excel文件的場(chǎng)景,本文將詳細(xì)介紹如何使用Java中的Apache POI庫(kù)來(lái)讀取Excel文件,需要的朋友可以參考下2025-01-01淺談Spring Data Redis讀不到設(shè)進(jìn)去的值
本文主要介紹了Spring Data Redis怎么讀不到我剛才設(shè)進(jìn)去的值,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09SpringCloud?Nacos服務(wù)分級(jí)存儲(chǔ)模型詳解
Nacos服務(wù)分級(jí)存儲(chǔ)模型是Nacos存儲(chǔ)服務(wù)注冊(cè)信息和配置信息的核心模型之一,本文將對(duì)?Nacos?服務(wù)分級(jí)存儲(chǔ)模型進(jìn)行深入解析,感興趣的朋友一起看看吧2024-02-02一文詳細(xì)講解Java時(shí)間格式轉(zhuǎn)換
這篇文章主要介紹了Java時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中詳細(xì)介紹了SimpleDateFormat(適用于Java8之前)和java.time(適用于Java8及之后)的用法,需要的朋友可以參考下2024-12-12