Rejestrowanie przy użyciu zestawu Azure SDK dla języków Java i Log4j
Ten artykuł zawiera omówienie sposobu dodawania rejestrowania przy użyciu usługi Log4j do aplikacji korzystających z zestawu Azure SDK dla języka Java. Jak wspomniano w artykule Konfigurowanie rejestrowania w zestawie Azure SDK dla języka Java, wszystkie biblioteki klienckie platformy Azure logują się za pośrednictwem protokołu SLF4J, dzięki czemu można używać struktur rejestrowania, takich jak log4j.
Ten artykuł zawiera wskazówki dotyczące korzystania z wersji Log4J 2.x, ale usługa Log4J 1.x jest równie obsługiwana przez zestaw Azure SDK dla języka Java. Aby włączyć rejestrowanie log4j, należy wykonać dwie czynności:
- Dołącz bibliotekę log4j jako zależność,
- Utwórz plik konfiguracji (log4j2.properties lub log4j2.xml) w katalogu projektu /src/main/resources.
Aby uzyskać więcej informacji dotyczących konfigurowania log4j, zobacz Welcome to Log4j 2 (Witamy w usłudze Log4j 2).
Dodawanie zależności narzędzia Maven
Aby dodać zależność narzędzia Maven, dołącz następujący kod XML do pliku pom.xml projektu. Zastąp numer wersji 2.16.0 najnowszym numerem wersji widocznym na stronie Powiązania SLF4J apache Log4j.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.16.0</version>
</dependency>
Uwaga
Ze względu na znaną lukę w zabezpieczeniach CVE-2021-44228 należy użyć usługi Log4j w wersji 2.16 lub nowszej
Konfigurowanie usługi Log4j
Istnieją dwa typowe sposoby konfigurowania usługi Log4j: za pośrednictwem pliku właściwości zewnętrznych lub zewnętrznego pliku XML. Te podejścia zostały opisane poniżej.
Używanie pliku właściwości
Plik właściwości prostych o nazwie log4j2.properties można umieścić w katalogu /src/main/resources projektu. Ten plik powinien mieć następującą formę:
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
Używanie pliku XML
Plik XML o nazwie log4j2.xml można umieścić w katalogu /src/main/resources projektu. Ten plik powinien mieć następującą formę:
<?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>
Następne kroki
W tym artykule opisano konfigurację usługi Log4j i sposób używania go do rejestrowania za pomocą zestawu Azure SDK dla języka Java. Ponieważ zestaw Azure SDK dla języka Java współpracuje ze wszystkimi strukturami rejestrowania SLF4J, rozważ przejrzenie podręcznika użytkownika SLF4J, aby uzyskać więcej szczegółów. Jeśli używasz usługi Log4j, istnieje również ogromna ilość wskazówek dotyczących konfiguracji w jej witrynie internetowej. Aby uzyskać więcej informacji, zobacz Witamy w usłudze Log4j 2!
Po opanowaniu rejestrowania rozważ przyjrzenie się integracji, które oferuje platforma Azure w strukturach, takich jak Spring i MicroProfile.