1. 程式人生 > >SpringBoot——日誌使用

SpringBoot——日誌使用

一、日誌的級別

由低到高:trace(跟蹤軌跡)<debug<info<warn<error

SpringBoot預設的日誌級別是info

二、日誌級別的設定

在application.properties/application.yml中設定:

logging.level.com.bdm=trace

給com.dbm包及其子包設定日誌級別為trace,這樣trace及其更高級別的日誌將會被打印出來

三、將日誌輸出到檔案

①logging.file:

    只配置檔名,不指定具體碟符及其目錄時,會將日誌檔案儲存在當前專案中:

logging.file=springboot.log

此時日誌檔案在專案中:

指定具體碟符及其目錄時,會將日誌檔案儲存在指定目錄下的該檔案中:

②logging.path

    指定日誌檔案存放的具體路徑(可帶碟符,windows系統中若不帶碟符則會在專案所在磁碟的根路徑下建立相應的資料夾和日誌檔案),日誌檔案的名稱需要通過logging.file配置,若logging.file中也指定了日誌檔案的路徑則以logging.file為準,若沒有配置logging.file,則日誌檔案的名稱採用SpringBoot預設的spring.log

#logging.file=F:/springboot.log
logging.path=/logs

此時日誌檔案的存放路徑為:專案所在的磁碟為F盤,預設的日誌檔名為spring.log

若沒有配置logging.file和logging.path則日誌僅在控制檯輸出

四、日誌格式

%d——日期時間
%thread——執行緒名
%‐5level——級別(從左顯示5個字元寬度)
%logger{50}——logger名字(類的全類名),最長50個字元,否則按照句點分割
%msg——日誌訊息
%n——換行符

例如:
%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n

配置:

# 在控制檯輸出的日誌的格式
logging.pattern.console=%d{yyyy‐MM‐dd hh:mm:ss} [%thread] %‐5level %logger{50} ‐ %msg%n

# 指定檔案中日誌輸出的格式
logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %‐5level === %logger{50} ==== %msg%n

日子使用舉例:

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootLoggingApplicationTests {

    Logger logger = LoggerFactory.getLogger(getClass());

    @Test
    public void contextLoads() {
        logger.trace("這是trace日誌...");
        logger.debug("這是debug日誌...");
        logger.info("這是info日誌...");
        logger.warn("這是warn日誌...");
        logger.error("這是error日誌...");
    }

}