Spring Boot 日志級別、持久化與 SLF4J 配置詳細攻略
??日志的定義
日志本質上是系統(tǒng)、軟件或設備按時間順序記錄操作、事件或狀態(tài)的文件文本,用于最終歷史、排查問題和審計。
Spring Boot項目在啟動時就有默認的日志輸出:

核心作用
- 問題排查:當軟件崩潰、系統(tǒng)出錯、時,日志會記錄錯誤代碼、發(fā)生時間和上下文,幫助技術人員定位原因。
- 行為審計:記錄用戶的關鍵操作,比如誰登錄了系統(tǒng)、誰修改了文件,用于追溯責任或合規(guī)檢查。
- 狀態(tài)監(jiān)控:實是記錄系統(tǒng)資源使用情況,如CPU占用率、內存使用量、幫助發(fā)現(xiàn)性能瓶頸。
??日志的使用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggerController {
private final static Logger logger= LoggerFactory.getLogger(LoggerController.class);
}??日志的級別分類
日志的級別從高到低依次為:FATAL、ERROR、WARN、INFO、DEBUG、TRACE
- FATAL:致命信息,表示需要立即被處理的系統(tǒng)級錯誤。
- ERROR:錯誤信息,級別較高的錯誤日志信息,但不影響系統(tǒng)的繼續(xù)運行。
- WARN:警告信息,不影響使用,但需要注意。
- INFO:普通信息,用于記錄應用程序正常運行時的一些信息。
- DRBUG:調試信息,需要調試時候的關鍵信息打印。
- TRACE:追蹤信息,比DEBUG更細粒的信息事件
??日志級別的使用
Spring Boot默認的日志框架是Logback,Logback沒有FATAL級別,他被映射到ERROR。
@RestController
@RequestMapping("/logger")
public class LoggerController {
private final static Logger logger= LoggerFactory.getLogger(LoggerController.class);
@RequestMapping("/printlog")
public String logger(){
logger.error("error....");
logger.warn("warn....");
logger.info("info...");
logger.debug("debug...");
logger.trace("trace...");
return "打印日志級別";
}
}打印結果:

這里的打印結果,只打印了error,warn,info是因為,這與日志級別的配置有關,日志的輸出級別默認是info,所以只會打印大于等于info的級別,也就是info,warn,error。
??日志級別的配置
yml配置
logging:
level:
root: debugproperties
logging.level.root=debug

??日志持久化
??什么是日志持久化?
日志持久化是指將程序運行過程中產生的日志數(shù)據(jù),從內存寫入到磁盤等持久化存儲介質的過程,核心目的是防止日志因系統(tǒng)崩潰、斷電等意外丟失。
??日志持久化的配置
yml
logging:
file:
name: logger/l og.logproperities
logging.file.name=logger/log.log
- 后面可可以跟絕對路徑也可以是相對路徑;
運行結果如下,日志保存在了對應的目錄內容

??配置日志文件的文件
yml
logback:
rollingpolicy:
max-file-size: 1KB
file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%iproperities
logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i
logging.logback.rollingpolicy.max-file-size=1KB
??更簡單的日志輸出
??添加依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
??@Slf4j
使用
@Slf4j
public class LoggerController2 {
public String logger(){
log.info("info....");
return "打印日志";
}
}
我們使用@Slf4j就不用寫那一長句就可以直接調用日志,但是要使用 log調用。
到此這篇關于Spring Boot 日志級別、持久化與 SLF4J 配置詳細攻略的文章就介紹到這了,更多相關springboot 日志持久化與slf4j配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows 10/11 安裝 Kafka的詳細教程(含可視化工具)
本文詳細介紹了在Windows 10/11上安裝和配置Kafka,包括安裝Java環(huán)境、下載和解壓Kafka、啟動ZooKeeper和Kafka服務、測試消息隊列以及安裝和使用可視化工具KafkaTool,通過本文,用戶可以輕松搭建Windows版Kafka消息隊列系統(tǒng),并進行高效管理,感興趣的朋友跟隨小編一起看看吧2025-11-11
SpringBoot用配置影響B(tài)ean加載@ConditionalOnProperty
這篇文章主要為大家介紹了SpringBoot用配置影響B(tài)ean加載@ConditionalOnProperty示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Spring Boot教程之利用ActiveMQ實現(xiàn)延遲消息
這篇文章主要給大家介紹了關于Spring Boot教程之利用ActiveMQ實現(xiàn)延遲消息的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-11-11
源碼解讀Spring-Integration執(zhí)行過程
Spring-Integration基于Spring,在應用程序中啟用了輕量級消息傳遞,并支持通過聲明式適配器與外部系統(tǒng)集成,今天主要是看個簡單的hello word進來分析下整個執(zhí)行過程,感興趣的朋友一起看看吧2021-06-06
logback ThresholdFilter臨界值日志過濾器源碼解讀
這篇文章主要為大家介紹了logback ThresholdFilter臨界值日志過濾器源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
用Eclipse 創(chuàng)建一個簡單的web項目(圖文教程)
下面小編就為大家?guī)硪黄肊clipse 創(chuàng)建一個簡單的web項目(圖文教程)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06

