Protokolování pomocí sady Azure SDK pro Javu a Log4j
Tento článek obsahuje přehled o tom, jak přidat protokolování pomocí Log4j do aplikací, které používají sadu Azure SDK pro Javu. Jak je uvedeno v tématu Konfigurace protokolování v sadě Azure SDK pro Javu, všechny klientské knihovny Azure se protokolují prostřednictvím SLF4J, takže můžete použít protokolovací architektury, jako je log4j.
Tento článek obsahuje pokyny k používání verzí Log4J 2.x, ale Sada Azure SDK pro Javu je stejně podporovaná také sadou Log4J 1.x. Pokud chcete povolit protokolování log4j, musíte udělat dvě věci:
- Zahrnout knihovnu log4j jako závislost,
- V adresáři projektu /src/main/resources vytvořte konfigurační soubor (log4j2.properties nebo log4j2.xml).
Další informace týkající se konfigurace log4j naleznete v tématu Vítá vás Log4j 2.
Přidání závislosti Mavenu
Pokud chcete přidat závislost Mavenu, přidejte do souboru pom.xml projektu následující kód XML. Číslo verze 2.16.0 nahraďte nejnovějším vydaným číslem verze zobrazeným 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
Existují dva běžné způsoby konfigurace Log4j: prostřednictvím externího souboru vlastností nebo externího souboru XML. Tyto přístupy jsou popsány níže.
Použití souboru vlastností
Soubor plochých vlastností s názvem log4j2.properties můžete umístit 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
Soubor XML s názvem log4j2.xml můžete umístit do adresáře /src/main/resources projektu. Tento soubor by měl mít následující podobu:
<?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 sadou Azure SDK pro Javu ji používá 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 naleznete v tématu Vítá vás Log4j 2!
Po zprotokolování zvažte možnost podívat se na integrace, které Azure nabízí do architektur, jako jsou Spring a MicroProfile.