spring boot內嵌了日誌記錄,提供了java util.logging,log4j2,logback的默認配置。java
默認狀況下,若是使用了 spring boot系列的stater依賴,則默認使用logback來記錄日誌,logback路由,同時確保java util logging,commons logging,log4j,log4j2能正常使用。web
雖然spring boot提供多種日誌框架,可是並不用擔憂,通常狀況下咱們並不須要改變日誌的依賴項,使用spring boot爲咱們配置的默認日誌就能夠了。spring
一,日誌格式app
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
格式爲框架
1,時間,毫秒級編碼
2,日誌級別 INFO 還有 DEBUG WARN 等spa
3,進程idhibernate
4,線程名線程
5,記錄器名稱debug
6,日誌內容
二,控制檯輸出 console output
默認error,warn,info級別的日誌會打印到控制檯。若是想看debug的日誌,能夠直接啓動時
執行 java -jar xx.jar --debug
也能夠在application.yml/properties中配置debug =true
當設置爲debug模式後,將會記錄更多的日誌信息
也能夠打開trace模式,記錄日誌跟蹤。
三,帶顏色的輸出
若是咱們的終端命令窗口支持ansi,那麼調配不一樣的顏色有助於增長可讀性。咱們能夠經過
spring.output.ansi 配置去設置一個新的值來覆蓋默認值。
顏色編碼是使用%clr配置的。以簡單的方式輸出不一樣顏色的日誌。
默認的顏色爲: fatal,error爲紅色,warn爲黃色,info,debug,trace爲綠色
固然咱們也能夠設置某些格式的文本的顏色
%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}
四,日誌文件
默認狀況下, spring boot只是打印到控制檯,沒有將日誌寫到文件中。若是想要寫日誌須要在application.yml中配置
logging.file 或者logging.path
兩個只能配置一個,若是配置logging.file,則在當前目錄下生成一個日誌文件
若是配置了logging.path,則會在指定路徑下生成日誌。
spring boot的日誌默認10M會切割。
同時,log能夠對不一樣的package設置不一樣的日誌級別,更精確靈活。如
logging.level.root=warn
logging.level.org.springframework.web=debug
logging.level.org.hibernate =error
這有助於減小一些無關的日誌打印,幫助咱們更好的排查問題。
五,自定義配置文件
能夠經過配置logger.config指定一個xml配置文件進一步定製日誌的屬性。
你也能夠強制spring boot使用指定的日誌系統。你也能夠將值設爲none來禁止使用日誌系統。
由於日誌系統初始化是在建立applicationContext以前,因此註解形式不可用,只能經過配置文件配置屬性,來更改日誌系統或禁用日誌系統。
根據日誌系統,一下文件會被加載。spring boot在此建議日誌配置文件的命名規則最好是xxx-spring.xml
這樣才能徹底保證會被初始化。
Logging System | Customization |
---|---|
Logback |
|
Log4j2 |
|
JDK (Java Util Logging) |
|
spring boot 直接支持配置的一些屬性
Spring Environment | System Property | Comments |
---|---|---|
|
|
記錄異常時出現的轉換詞 |
|
|
默認的日誌文件名稱 當前路徑直接生成 |
|
|
默認的日誌文件名稱 帶路徑 |
|
|
控制檯支持的日誌格式 |
|
|
日誌文件支持的日誌格式 |
|
|
日誌級別 |
|
|
當前進程id |