使用適用於 Java 和 java.util.logging 的 Azure SDK 進行記錄
本文概述如何使用 java.util.logging 將記錄新增至使用 Azure SDK for Java 的應用程式。 java.util.logging 架構是 JDK 的一部分。 如在 Azure SDK for Java 中設定記錄中所述,所有 Azure 用戶端連結庫都會透過 SLF4J 記錄,因此您可以使用 java.util.logging 等記錄架構。
若要啟用 java.util.logging,您必須執行兩件事:
- 將 java.util.logging 的 SLF4J 配接器納入為相依性,
- 在 /src/main/resources 項目目錄下建立名為 logging.properties 的檔案。
如需設定記錄器的詳細資訊,請參閱 Oracle 檔中的設定記錄輸出 。
新增 Maven 相依性
若要新增 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
系統屬性,提供檔案的路徑。 您必須先設定此屬性,才能建立記錄器實例。 如需詳細資訊,請參閱 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
此程式代碼會在主目錄中建立名為 myapplication.log 的檔案(%h
)。 此記錄器不支援在特定期間後自動輪替檔案。 如果您需要這項功能,您必須撰寫排程器來管理記錄檔輪替。
下一步
本文涵蓋 的 java.util.logging
設定,以及如何讓適用於 Java 的 Azure SDK 使用它進行記錄。 因為適用於 Java 的 Azure SDK 適用於所有 SLF4J 記錄架構,請考慮檢閱 SLF4J 使用者手冊 以取得進一步的詳細數據。
掌握記錄之後,請考慮查看 Azure 提供給 Spring 和 MicroProfile 等架構的整合。