本文概述如何透過使用java.util.loggingAzure SDK for Java的應用程式加入日誌功能。 架構 java.util.logging 是 JDK 的一部分。 如 在適用於 Java 的 Azure SDK 中設定記錄中所述,所有 Azure 用戶端類別庫都會透過 Java 簡單記錄門面 (SLF4J)進行日誌記錄,因此您可以使用如 java.util.logging 的記錄架構。
要啟用 java.util.logging,請完成以下步驟:
- 將
java.util.logging的 SLF4J 配接器納入為相依性。 - 在 /src/main/resources 專案目錄下建立一個名為 logging.properties 的檔案。
欲了解更多關於設定記錄器的資訊,請參閱 Oracle 文件中的 「設定日誌輸出 」。
新增 Maven 對 java.util.logging 的依賴
若要新增 Maven 相依性,請在專案的 pom.xml 檔案中包含下列 XML。 將 1.7.30 版本號碼替換為在 SLF4J JDK14 系結頁面上顯示的最新發布版本號碼。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.30</version> <!-- replace this version with the latest available version on Maven central -->
</dependency>
將logging.properties 新增至您的專案
若要使用 java.util.logging 進行記錄,請在專案的 ./src/main/resources 目錄下或其他任何位置,建立名為 logging.properties 的檔案。 此檔案包含可依您的需求自訂記錄功能的設定。 透過設定 java.util.logging.config.file 系統屬性提供檔案的路徑。 在建立 Logger 實例之前,先設定這個屬性。 如需詳細資訊,請參閱 Java 日誌:配置。
主控台記錄
您可以建立組態以登入控制台,如下列範例所示。 此範例已設定為記錄 INFO 層級或更高層級的所有記錄事件,無論事件來自何處。
handlers = java.util.logging.ConsoleHandler
.level = INFO
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tH:%1$tM:%1$tS.%1$tL] [%4$s] %3$s %5$s %n
登入檔案
上述範例會記錄至主控台,這通常不是記錄的慣用位置。 若要將記錄設定為儲存至檔案,請使用以下設定:
handlers = java.util.logging.FileHandler
.level = INFO
java.util.logging.FileHandler.pattern = %h/myapplication.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO
這段程式碼會在你的家庭目錄()中建立一個名為 %h 的檔案。 此記錄器不支援在特定期間後自動輪替檔案。 如果你需要這個功能,你必須寫一個排程器來管理日誌檔案輪替。
後續步驟
本文涵蓋 java.util.logging 的設定,以及如何讓 Azure SDK for Java 使用它進行記錄。 因為適用於 Java 的 Azure SDK 適用於所有 SLF4J 記錄架構,請考慮檢閱 SLF4J 使用者手動 以取得進一步的詳細數據。
當你掌握日誌管理後,可以考慮看看 Azure 與像 Spring 這類框架的整合功能。