Udostępnij za pośrednictwem


Logowanie za pomocą Azure SDK dla 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 Konfigurowanie rejestrowania w zestawie Azure SDK dla języka Java, wszystkie biblioteki klienckie platformy Azure logują się za pośrednictwem 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:

  1. Dołącz bibliotekę log4j jako zależność,
  2. 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.

Dodaj zależność 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 dostępnym numerem wersji widocznym na stronie powiązania Apache Log4j SLF4J .

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

Notatka

Ze względu na znaną lukę w zabezpieczeniach CVE-2021-44228należ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

Możesz umieścić plik właściwości prostych o nazwie log4j2.properties w katalogu /src/main/resources katalogu 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 Welcome to Log4j 2!

Po opanowaniu rejestrowania rozważ przyjrzenie się integracjom, które oferuje Azure w frameworkach, takich jak Spring i MicroProfile.