- 參考文檔:
spring-boot官方文檔
Spring Boot乾貨系列:(七)默認日誌框架配置
Spring Boot日誌管理 - 前言
text
Spring Boot在所有內部日誌中使用Commons Logging,但是默認配置也提供了對常用日誌的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每種Logger都可以通過配置使用控制檯或者文件輸出日誌內容。
- 日誌格式
默認日誌輸出如下:

輸出內容元素具體如下:
text
時間日期: 精確到毫秒
日誌級別: ERROR, WARN, INFO, DEBUG or TRACE
進程ID
分隔符: --- 標識實際日誌的開始
線程名: 方括號括起來(可能會截斷控制檯輸出)
Logger名: 通常使用源代碼的類名
日誌內容
LogBack 日誌基本沒有FATAL (映射爲Error)
控制檯輸出
2.1 控制檯輸出
在Spring Boot中默認配置了ERROR、WARN和INFO級別的日誌輸出到控制檯。
我們可以通過兩種方式切換至DEBUG級別:- 在運行命令後加入–debug標誌,如:$ java -jar blog.jar –debug
- 在application.properties中配置debug=true,該屬性置爲true的時候,核心Logger(含嵌入式容器、hibernate、spring)會輸出更多內容,但是你自己應用的日誌並不會輸出爲DEBUG級別
2.2 多彩輸出
如果你的終端支持ANSI,設置彩色輸出會讓日誌更具可讀性。默認爲文件輸出
3.1 默認只把日誌輸出到控制檯。
3.2 若要輸出日誌到文件中,需要在配置文件中配置logging.file或logging.path,示例如下:- logging.file = my.log:將日誌寫入指定的日誌文件,值可以是絕對路徑也可以是相對路徑
- logging.path = /var/log:創建spring.log文件在此目錄下,將日誌寫入該日誌文件中,值可以是絕對路徑也可以是相對路徑
當日志文件大於10MB,會有新的日誌文件,默認輸出級別爲:ERROR, WARN 和 INFO
- 日誌級別
在spring環境(例如application.properties)中都用‘logging.level.*=LEVEL’來進行日誌級別控制,所有日誌系統都支持。
級別LEVEL:分爲TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF。
例如:root日誌配置爲logging.level.root。在logging.level.root中如下所示:
- logging.level.root=WARN:root日誌以WARN級別輸出。
- logging.level.org.springframework.web=DEBUG:org.springframework.web包下的class以DEBUG級別輸出。
- logging.level.org.hibernate=ERROR:org.hibernate包下的class以ERROR級別輸出。
- 自定義日誌配置
- 日誌在ApplicationContext創建之前加載。
- 所以不能通過在@Configuration文件中的@PropertySources來進行配置
- Logback:logback-spring.xml, logback-spring.groovy, logback.xml or logback.groovy
- Log4j2:log4j2-spring.xml or log4j2.xml
- JDK (Java Util Logging):logging.properties
- 推薦使用-spring命名的配置文件,
- 文件默認放在src/main/resources下,或者在配置文件中更改屬性logging.config=classpath:logback-spring.xml
- 其他的一些配置屬性:

-
- 日誌擴展
SpringBoot入門系列之第二篇:logback日誌輸出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.