共用方式為


使用適用于 JAVA 和 Log4j 的 Azure SDK 進行記錄

本文概述如何使用 Log4j 將記錄新增至使用 Azure SDK for JAVA 的應用程式。 如在 Azure SDK for JAVA 中設定記錄中所述 ,所有 Azure 用戶端程式庫都會透過 SLF4J 記錄,因此您可以使用 log4j 記錄架構。

本文提供使用 Log4J 2.x 版本的指引,但適用于 JAVA 的 Azure SDK 同樣支援 Log4J 1.x。 若要啟用 log4j 記錄,您必須執行兩件事:

  1. 將 log4j 程式庫納入為相依性,
  2. 在 /src/main/resources 專案目錄下 建立組態檔 ( log4j2.properties log4j2.xml )。

如需設定 log4j 的詳細資訊,請參閱 歡迎使用 Log4j 2

新增 Maven 相依性

若要新增 Maven 相依性,請在專案的 pom.xml 檔案中包含下列 XML。 將 2.16.0 版本號碼取代為 Apache Log4j SLF4J 系結頁面上 顯示 的最新發行版本本號碼。

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.16.0</version>
</dependency>

注意

由於已知的弱點 CVE-2021-44228 ,請務必使用 Log4j 2.16 版或更新版本

設定 Log4j

有兩種常見方式可以設定 Log4j:透過外部屬性檔案,或透過外部 XML 檔案。 以下概述這些方法。

使用屬性檔

您可以將名為 log4j2.properties 的一般屬性檔案放在 專案的 /src/main/resources 目錄中。 此檔案的格式應如下:

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %5p [%t] %c{3} - %m%n

logger.app.name = com.azure.core
logger.app.level = ERROR

rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

使用 XML 檔案

您可以將名為 log4j2.xml 的 XML 檔案放在 專案的 /src/main/resources 目錄中。 此檔案的格式應如下:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%t] %c{3} - %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.azure.core" level="error" additivity="true">
            <appender-ref ref="console" />
        </Logger>
        <Root level="info" additivity="false">
            <appender-ref ref="console" />
        </Root>
     </Loggers>
</Configuration>

下一步

本文涵蓋 Log4j 的設定,以及如何讓適用于 JAVA 的 Azure SDK 用於記錄。 因為適用于 JAVA 的 Azure SDK 適用于所有 SLF4J 記錄架構,請考慮檢閱 SLF4J 使用者手冊 以取得進一步的詳細資料。 如果您使用 Log4j,其網站上也有大量的設定指引。 如需詳細資訊,請參閱 歡迎使用 Log4j 2!

掌握記錄之後,請考慮查看 Azure 提供給 Spring MicroProfile 等 架構的整合。