Spring Boot在全部內部日誌中使用Commons Logging,可是默認配置也提供了對經常使用日誌的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每種Logger均可以經過配置使用控制檯或者文件輸出日誌內容。html
默認的日誌輸出以下:java
2016-04-13 08:23:50.120 INFO 37397 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {4.3.11.Final}
輸出內容元素具體以下:spring
---
標識實際日誌的開始在Spring Boot中默認配置了ERROR
、WARN
和INFO
級別的日誌輸出到控制檯。apache
咱們能夠經過兩種方式切換至DEBUG
級別:api
--debug
標誌,如:$ java -jar myapp.jar --debug
application.properties
中配置debug=true
,該屬性置爲true的時候,核心Logger(包含嵌入式容器、hibernate、spring)會輸出更多內容,可是你本身應用的日誌並不會輸出爲DEBUG級別。若是你的終端支持ANSI,設置彩色輸出會讓日誌更具可讀性。經過在application.properties
中設置spring.output.ansi.enabled
參數來支持。oracle
Spring Boot默認配置只會輸出到控制檯,並不會記錄到文件中,可是咱們一般生產環境使用時都須要以文件方式記錄。app
若要增長文件輸出,須要在application.properties
中配置logging.file
或logging.path
屬性。spa
logging.file=my.log
logging.path=/var/log
日誌文件會在10Mb大小的時候被截斷,產生新的日誌文件,默認級別爲:ERROR、WARN、INFOhibernate
在Spring Boot中只須要在application.properties
中進行配置完成日誌記錄的級別控制。線程
配置格式:logging.level.*=LEVEL
logging.level
:日誌級別控制前綴,*
爲包名或Logger名LEVEL
:選項TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF舉例:
logging.level.com.didispace=DEBUG
:com.didispace
包下全部class以DEBUG級別輸出logging.level.root=WARN
:root日誌以WARN級別輸出因爲日誌服務通常都在ApplicationContext建立前就初始化了,它並非必須經過Spring的配置文件控制。所以經過系統屬性和傳統的Spring Boot外部配置文件依然能夠很好的支持日誌控制和管理。
根據不一樣的日誌系統,你能夠按以下規則組織配置文件名,就能被正確加載:
logback-spring.xml
, logback-spring.groovy
, logback.xml
,logback.groovy
log4j-spring.properties
, log4j-spring.xml
, log4j.properties
,log4j.xml
log4j2-spring.xml
, log4j2.xml
logging.properties
Spring Boot官方推薦優先使用帶有-spring
的文件名做爲你的日誌配置(如使用logback-spring.xml
,而不是logback.xml
)
在Spring Boot中能夠經過在application.properties
配置以下參數控制輸出格式: