SpringBoot 日誌級別詳解

一、日誌級別是什麼

日誌級別是指記錄日誌信息的重要程度,用於限制輸出日誌的詳細程度。不同的日誌級別會對應不同的日誌輸出,具體有DEBUG、INFO、WARN、ERROR、FATAL五種級別。DEBUG最低,FATAL最高。默認情況下,SpringBoot日誌級別是INFO。

二、SpringBoot中常用的日誌框架

SpringBoot中提供了默認的Logback框架進行日誌記錄,但也支持其他的日誌框架,如Log4j2、Java Logging。

三、SpringBoot日誌配置文件

在SpringBoot中,日誌的配置文件為「application.properties」、「application.yml」兩種,它們都位於”classpath:”路徑下。這些文件描述了日誌記錄器的行為和可選的輸出格式。在”application.properties”或”application. yml”文件中配置日誌級別很容易。例如:

logging.level.root=INFO 
logging.level.org.springframework.web=DEBUG 
logging.level.com.example=TRACE
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n

四、配置日誌級別

1. 配置全局日誌級別

我們可以使用「logging.level.root」配置全局日誌級別,例如,我們將日誌級別配置為DEBUG:

logging.level.root=DEBUG

2. 配置指定類的日誌級別

我們也可以單獨配置某個類的日誌級別,例如,我們將”org.springframework.web”的日誌級別配置為DEBUG:

logging.level.org.springframework.web=DEBUG

3. 日誌級別的優先順序

如果多個配置指定了相同的日誌級別,那麼它們的優先順序是”root”最低,”application”包中的次之,”thirdparty”最高。

logging.level.root=DEBUG 
logging.level.org.springframework.web=DEBUG 
logging.level.com.example=TRACE

五、配置輸出格式

除了日誌級別的配置,我們還可以指定日誌輸出的格式。SpringBoot在”application.properties”或”application.yml” 中設置「logging.pattern.console」來配置格式。例如,我們將日誌輸出格式配置為「%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} – %msg%n」:

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n

六、使用@Loggable註解

在SpringBoot中,使用@Loggable註解可以簡單地在類或方法上應用AOP日誌攔截器。例如,我們可以引入「org.springframework.boot:spring-boot-starter-aop」依賴,然後在類或方法上添加@Loggable註解。

import org.springframework.stereotype.Component; 
import com.github.f4b6a3.ulid.Ulid; 
import lombok.extern.slf4j.Slf4j; 

@Component 
@Slf4j(topic = "example") 
public class MyClass {

    @Loggable 
    public void myMethod(String arg1, int arg2) {
        ...
    }
}

七、小結

SpringBoot中提供了三種設置日誌級別的方式:全局、指定類和優先順序。此外,我們還可以指定日誌輸出的格式並使用@Loggable註解實現AOP日誌攔截。不同的日誌級別和輸出格式可以讓我們更好地了解應用程序的運行情況,從而快速進行調試、排查問題。

原創文章,作者:NGZIV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/334041.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NGZIV的頭像NGZIV
上一篇 2025-02-05 13:05
下一篇 2025-02-05 13:05

相關推薦

  • Cron執行日誌用法介紹

    本文將從多個方面對cron執行日誌進行詳細闡述,包括cron執行日誌的定義、cron執行日誌的產生原因、cron執行日誌的格式以及如何解讀cron執行日誌。 一、定義 Cron是一…

    編程 2025-04-29
  • Hibernate日誌列印sql參數

    本文將從多個方面介紹如何在Hibernate中列印SQL參數。Hibernate作為一種ORM框架,可以通過列印SQL參數方便開發者調試和優化Hibernate應用。 一、通過配置…

    編程 2025-04-29
  • Python如何區分代碼塊的級別

    Python是一種動態語言,其程序在運行前需由解釋器進行解析。在Python語言中,代碼塊的級別是非常重要的,對於代碼塊的排列順序、執行順序及錯誤檢測都有著重要的影響。Python…

    編程 2025-04-29
  • 從ga角度解讀springboot

    springboot作為目前廣受歡迎的Java開發框架,其中的ga機制在整個開發過程中起著至關重要的作用。 一、ga是什麼 ga即Group Artifacts的縮寫,它是Mave…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows伺服器上的日誌,並將其發送到遠程伺服器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29
  • Log4j日誌列印到Systemout.log

    Log4j是Apache的一個強大的日誌組件,可以幫助開發者更好地管理日誌。在Java應用程序中,很多開發者都會選擇使用Log4j來實現日誌輸出。本文將介紹如何使用Log4j將日誌…

    編程 2025-04-28
  • 圖像與信號處理期刊級別

    本文將從多個方面介紹圖像與信號處理期刊級別的相關知識,包括圖像壓縮、人臉識別、關鍵點匹配等等。 一、圖像壓縮 圖像在傳輸和存儲中佔據了大量的空間,因此圖像壓縮成為了很重要的技術。常…

    編程 2025-04-28
  • SpringBoot Get方式請求傳參用法介紹

    本文將從以下多個方面對SpringBoot Get方式請求傳參做詳細的闡述,包括URL傳參、路徑傳參、請求頭傳參、請求體傳參等,幫助讀者更加深入地了解Get請求方式下傳參的相關知識…

    編程 2025-04-27
  • 如何將Linux系統日誌發送到日誌伺服器

    本文將介紹如何將Linux系統日誌發送到日誌伺服器,以方便管理和監控系統狀態。 一、安裝rsyslog軟體包 rsyslog是Linux系統上默認的系統日誌軟體,用於收集系統事件和…

    編程 2025-04-27
  • SpringBoot如何設置不輸出Info日誌

    本篇文章將帶您了解如何在SpringBoot項目中關閉Info級別日誌輸出。 一、為什麼要關閉Info日誌 在開發中,我們經常會使用Log4j、Logback等框架來輸出日誌信息,…

    編程 2025-04-27

發表回復

登錄後才能評論