Protokolujte pomocí sady Azure SDK pro Javu a Log4j

Tento článek ukazuje, jak nakonfigurovat Protokol4j pro aplikace, které používají Azure SDK pro Java. Jak je uvedeno v konfiguraci protokolování v Azure SDK pro Java, všechny Azure klientské knihovny protokolují prostřednictvím SLF4J, takže můžete použít architektury, jako je Log4j 2, ke zjednodušení řešení potíží.

Tento článek obsahuje pokyny k používání verzí Log4J 2.x, ale Azure SDK pro Java podporuje také Log4J 1.x. Pokud chcete povolit protokolování log4j, proveďte tyto dva kroky:

  1. Zahrňte knihovnu log4j jako závislost.
  2. V adresáři projektu /src/main/resources vytvořte konfigurační soubor (log4j2.properties nebo log4j2.xml).

Další informace o konfiguraci log4j naleznete v tématu Vítá vás Log4j 2.

Přidejte závislost na Maven

Pokud chcete přidat závislost Mavenu, přidejte do souboru pom.xml projektu následující KÓD XML. Nahraďte číslo verze 2.16.0 číslem nejnovější vydané verze, které se zobrazuje na stránce vazby Apache Log4j SLF4J.

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

Poznámka

Kvůli známé chybě zabezpečení CVE-2021-44228 nezapomeňte použít Log4j verze 2.16 nebo novější.

Konfigurace Log4j

Log4j můžete nakonfigurovat dvěma běžnými způsoby: prostřednictvím externího souboru vlastností nebo externího souboru XML. Následující části popisují tyto přístupy.

Použití souboru vlastností

Umístěte plochý soubor vlastností s názvem log4j2.properties do adresáře /src/main/resources projektu. Tento soubor by měl mít následující podobu:

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

Použití souboru XML

Umístěte soubor XML s názvem log4j2.xml do adresáře /src/main/resources projektu. Soubor by měl dodržovat tuto strukturu:

<?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>

Další kroky

Tento článek se zabývá konfigurací Log4j a tím, jak přimět sadu Azure SDK pro Javu, aby ji používala k protokolování. Vzhledem k tomu, že sada Azure SDK pro Javu funguje se všemi architekturami protokolování SLF4J, zvažte další podrobnosti v uživatelské příručce SLF4J. Pokud používáte Log4j, najdete na jeho webu také obrovské množství pokynů ke konfiguraci. Další informace najdete v tématu Vítá vás Log4j 2!

Jakmile zvládnete protokolování, zvažte, že se podíváte na integrace, které Azure nabízí pro frameworky, jako je Spring.