spring boot預設log配置

2021-09-25 23:29:49 字數 2868 閱讀 2418

spring boot預設使用logback日誌系統,如果不需要更改為其他日誌系統比如log4j等,則無需多餘的配置,logback預設將日誌列印到控制台上。

如果要使用logback,原則上需要新增以下依賴,但是由於一般的spring boot專案都會引用spring-boot-starter或者spring-boot-starter-web,而這兩個依賴中都包含了對於spring-boot-starter-logging的依賴,所以無需額外新增依賴。

org.springframework.boot

spring-boot-starter-logging

以下是預設配置啟動下的日誌顯示情況

問題一:如何在專案中列印日誌

@controller

public class usercontroller

}

訪問請求,控制台列印出來的日誌如下所示: 

spring boot預設的日誌級別是info,這裡列印的是info級別的日誌所以可以顯示

問題二:如何將日誌資訊儲存到檔案

##下面的這兩個配置不能同時存在,即只能配置乙個,且logging.file優先順序高,配置了兩個標籤,只有

##logging.file會生效

#該屬性用來配置日誌檔案的路徑

logging.path=c:/

#該屬性用來配置日誌檔名,如果不配置,預設檔名為spring.log

logging.file=springboot.log

當只配置了logging.path=c:/標籤時,啟動工程,會在c盤生成乙個預設名稱為spring.log的檔案,檔案的內容和控制台的內容一致。

當只配置了logging.file=springboot.log標籤時,啟動工程,會在工程目錄下生成乙個springboot.log的配置檔案

問題三:如何設定日誌級別

日誌級別有trace在上面的例子中我們列印了乙個info級別的日誌,因為spring boot預設級別就是info,如果我們改為warn,我們就看不到這行日誌了。

logging.level.root=warn
這裡是用的root級別,即專案的所有日誌,我們也可以使用package級別,即指定包下使用相應的日誌級別。

專案啟動成功了,但是幾乎沒有內容,這是因為之前列印的日誌級別都是info,這裡設定為warn,所以info級別的日誌都不顯示。

這裡我們可以設定root還是info級別,將指定包下的日誌級別設定為warn,當發生請求時並沒有列印debug和info級別的日誌。

問題四:如何定製自己的日誌格式

#logging.pattern.console用於設定日誌輸出格式

logging.pattern.console=%d [%thread] %-5level %logger- %msg%n

#logging.pattern.file用於設定輸出到log檔案的日誌格式

logging.pattern.file=%d [%thread] %-5level %logger- %msg%

上述配置檔案的編碼中,對應編碼的含義如下:

%d——日誌輸出時間

%thread——輸出日誌的程序名字,這在web應用以及非同步任務處理中很有用

%-5level——日誌級別,並且使用5個字元靠左對齊

%logger- ——日誌輸出者的名字

%msg——日誌訊息

%n——平台的換行符

參考部落格:

SpringBoot 預設日誌

by default,if you use the starters logback is used for logging.spring.io原話 log level error,warn,info,debug,or trace.等級順序公升高 作用 如設定info 則顯示error,warn,i...

spring boot採用yml配置log4j2

org.springframework.bootgroupid spring boot starter log4j2artifactid dependency com.fasterxml.jackson.dataformatgroupid jackson dataformat yamlartifac...

修改 Spring Boot 預設頁面

spring boot 預設的歡迎介面是 main resources static index.html 原先的 webmvcconfigureradapter 已過時了,改為繼承 webmvcconfigurationsupport 類 或 實現 webmvcconfigurer 介面。impo...