springboot日誌,springboot日誌配置

來源:互聯網
上載者:User

springboot日誌,springboot日誌配置

1.日誌

Spring Boot內部日誌系統使用的是Commons Logging,但開放底層的日誌實現。預設為會Java Util Logging, Log4J, Log4J2和Logback提供配置。每種情況下都會預先配置使用控制台輸出,也可以使用可選的檔案輸出。
預設情況下,如果你使用'Starter POMs',那麼就會使用Logback記錄日誌。為了確保那些使用Java Util Logging, Commons Logging, Log4J或SLF4J的依賴庫能夠正常工作,正確的Logback路由也被包含進來。
註:如果上面的列表看起來令人困惑,不要擔心,Java有很多可用的日誌架構。通常,你不需要改變日誌依賴,Spring Boot預設的就能很好的工作。

2.日誌格式

Spring Boot預設的日誌輸出格式如下:

2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization
2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet'
2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: '

輸出的節點(items)如下


1. 日期和時間 - 精確到毫秒,且易於排序。
2. 記錄層級 - ERROR, WARN, INFO, DEBUG 或 TRACE。
3. Process ID。
4. 一個用於區分實際日誌資訊開頭的---分隔字元。
5. 線程名 - 包括在方括弧中(控制台輸出可能會被截斷)。
6. 日誌名 - 通常是源class的類名(縮寫)。
7. 日誌資訊。

3.控制台輸出

預設的日誌配置會在寫日誌訊息時將它們回顯到控制台。預設,ERROR, WARN和INFO層級的訊息會被記錄

4.檔案輸出

預設情況下,Spring Boot只會將日誌記錄到控制台而不會寫進記錄檔。如果除了輸出到控制台你還想寫入到記錄檔,那你需要設定 logging.file 或 logging.path 屬性(例如在你的application.properties中)

下表顯示如何組合使用 logging.* :

記錄檔每達到10M就會被輪換(分割),和控制台一樣,預設記錄ERROR, WARN和INFO層級的資訊。

5.記錄層級

所有支援的日誌系統在Spring的Environment(例如在application.properties裡)都有通過'logging.level.*=LEVEL'('LEVEL'是TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF中的一個)設定的記錄層級。
樣本:application.properties

logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR

6.自訂日誌配置

通過將適當的庫添加到classpath,可以啟用各種日誌系統。然後在classpath的根目錄(root)或通過Spring Environment的 logging.config 屬性指定的位置提供一個合適的設定檔來達到進一步的定製(注意由於日誌是在ApplicationContext被建立之前初始化的,所以不可能在Spring的@Configuration檔案中,通過@PropertySources控制日誌。系統屬性和平常的Spring Boot外部設定檔能正常工作)。根據你的日誌系統,下面的檔案會被載入:

為了協助定製一些其他的屬性,從Spring的Envrionment轉換到系統屬性:

所有支援的日誌系統在解析它們的設定檔時都能查詢系統屬性。具體可以參考spring-boot.jar中的預設配置。
註:在運行可執行檔jar時,Java Util Logging有類載入問題,我們建議你儘可能避免使用它。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.