Spring Boot在全部內部日誌中使用Commons Logging,可是默認配置也提供了對經常使用日誌的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每種Logger均可以經過配置使用控制檯或者文件輸出日誌內容。html
默認的日誌輸出以下:java
2017-04-04 09:58:22.233 INFO 5972 --- [ main] com.silence.Application$ : Starting Application. on silence with PID 5972 (E:\github\LayIM\bin started by asus in E:\github\LayIM) 2017-04-04 09:58:22.241 INFO 5972 --- [ main] com.silence.Application$ : No active profile set, falling back to default profiles: default 2017-04-04 09:58:22.490 INFO 5972 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@74235045: startup date [Tue Apr 04 09:58:22 CST 2017]; root of context hierarchy
輸出內容元素具體以下:git
在Spring Boot中默認配置了ERROR、WARN和INFO級別的日誌輸出到控制檯。github
咱們能夠經過兩種方式切換至DEBUG級別:spring
若是你的終端支持ANSI,設置彩色輸出會讓日誌更具可讀性。經過在application.properties
中設置spring.output.ansi.enabled
參數來支持。apache
Spring Boot默認配置只會輸出到控制檯,並不會記錄到文件中,可是咱們一般生產環境使用時都須要以文件方式記錄api
若要增長文件輸出,須要在application.properties
中配置logging.file
或logging.path
屬性oracle
日誌文件會在10Mb大小的時候被截斷,產生新的日誌文件,默認級別爲:ERROR、WARN、INFOapp
在Spring Boot中只須要在application.properties中進行配置完成日誌記錄的級別控制。學習
配置格式:logging.level.*=LEVEL
舉例:
logging.level.com.didispace=DEBUG:com.didispace包下全部class以DEBUG級別輸出 logging.level.root=WARN:root日誌以WARN級別輸出
注意,若是想要輸出Mybatis的SQL語句能夠logging.level.com.silence.mapper=debug
因爲日誌服務通常都在ApplicationContext建立前就初始化了,它並非必須經過Spring的配置文件控制。所以經過系統屬性和傳統的Spring Boot外部配置文件依然能夠很好的支持日誌控制和管理。
根據不一樣的日誌系統,你能夠按以下規則組織配置文件名,就能被正確加載:
Spring Boot官方推薦優先使用帶有-spring的文件名做爲你的日誌配置(如使用logback-spring.xml,而不是logback.xml)
在Spring Boot中能夠經過在application.properties配置以下參數控制輸出格式:
想要深刻學習的同窗們能夠加入QQ羣討論,有全套資源分享,經驗探討,沒錯,咱們等着你,分享互相的故事!