SpringBoot如何設置不輸出Info日誌

本篇文章將帶您了解如何在SpringBoot項目中關閉Info級別日誌輸出。

一、為什麼要關閉Info日誌

在開發中,我們經常會使用Log4j、Logback等框架來輸出日誌信息,而默認情況下SpringBoot會輸出一些Info級別的日誌,這些日誌信息通常用於調試,但有時候它們會佔據大量的控制台輸出以及日誌文件,嚴重影響正常的日誌查看。

例如,當我們使用SpringBoot開發Restful API時,請求信息、響應信息等都會被默認輸出到日誌中,伴隨着每個接口請求的輸出,日誌會變得張冠李戴,不利於調試分析。

二、如何設置不輸出Info級別日誌

1、使用properties方式設置

我們可以在項目的 application.properties 文件中設置logging.level.root=ERROR,這意味着SpringBoot將不會輸出Level.INFO的日誌信息。

application.properties 配置示例:
logging.level.root=ERROR

2、使用yml方式設置

同樣的,我們也可以使用yml文件方式設置logging.level.root。

application.yml 配置示例:
logging:
  level:
    root: ERROR

3、使用代碼方式設置

除了以上兩種方式之外,我們還可以通過編寫代碼的方式,來設置日誌級別。

代碼示例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Configuration
public class LogConfiguration {

    private static final Logger logger = LoggerFactory.getLogger(LogConfiguration.class);

    @PostConstruct
    public void init() {
        logger.info("init LogConfiguration");
        ch.qos.logback.classic.Logger rootLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
        rootLogger.setLevel(Level.ERROR);
    }
}

這個例子中,我們通過 LogConfiguration 類實現了一個初始化的方法init(),在這個方法中我們獲得了 ROOT_LOGGER_NAME 的實例並調整了日誌級別到 ERROR。

三、如何判斷是否設置成功

當我們在項目中添加了相應的配置之後,如何判斷是否設置成功呢?

我們可以在控制台中查看運行時的日誌信息,如果控制台上不再輸出頻繁的Info級別日誌信息,那麼就證明我們已經成功關閉了Info級別日誌輸出。

另外,我們還可以在調試日誌的時候,通過打印當前 LoggingSystem 的狀態,來確認我們的日誌配置是否生效。

代碼示例:
@Component
public class CheckLoggingLevelCommandLineRunner implements CommandLineRunner {

    @Autowired
    private LoggingSystem loggingSystem;

    @Override
    public void run(String... args) throws Exception {
        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
        for (Logger logger : loggerContext.getLoggerList()) {
            System.out.println("logger.getName(): " + logger.getName() + ", logger.getLevel(): " + logger.getLevel());
        }
        loggingSystem.setLogLevel("root", LogLevel.ERROR);
    }
}

當我們在終端啟動項目並運行上述代碼,如果輸出信息中logger.getLevel()的值為 ERROR,則證明我們的配置已生效。

四、小結

以上就是SpringBoot如何設置不輸出Info級別日誌的全部內容,我們可以通過在 properties、yml 文件中進行配置,或者通過代碼動態設置等多種方式,來實現相應的功能。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HHBJT的頭像HHBJT
上一篇 2025-04-27 15:26
下一篇 2025-04-27 15:26

相關推薦

  • 如何設置Python環境變量

    Python是一種流行的腳本編程語言,它可以在不同的操作系統和平台上運行。但是,在使用Python時,我們需要設置Python環境變量,以便系統能夠正確地找到Python解釋器和相…

    編程 2025-04-29
  • Cron執行日誌用法介紹

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

    編程 2025-04-29
  • 如何設置chrome不同步手機歷史記錄

    使用chrome瀏覽器時,在登錄chrome賬號的情況下,由於默認同步功能,瀏覽器歷史記錄等數據都會同步到其他設備上,但是有時候我們並不想這麼做,比如為了保護隱私、避免干擾等等。所…

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

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

    編程 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
  • Python IDLE如何設置中文運行環境

    Python IDLE是Python的集成開發環境,使用它可以方便地編寫、調試和執行Python程序。但是,默認情況下Python IDLE的運行環境是英文環境,如果需要在Pyth…

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

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

    編程 2025-04-27

發表回復

登錄後才能評論