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 Konfigurace protokolování v sadě Azure SDK pro Java, všechny klientské knihovny Azure vedou logy prostřednictvím SLF4J, takže můžete používat 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,
- Vytvořte konfigurační soubor (log4j2.properties nebo log4j2.xml) v adresáři projektu /src/main/ resources.
Další informace týkající se konfigurace 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
Vzhledem ke známému ohrožení zabezpečení CVE-2021-44228nezapomeň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í
Do adresáře /src/main/resources projektu můžete umístit soubor vlastností ve formátu flat s názvem log4j2.properties. 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 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
Po zvládnutí protokolování zvažte prozkoumání integrací, které Azure nabízí do architektur, jako jsou Spring a MicroProfile.