Поделиться через


Логирование с помощью Azure SDK для Java и Log4j

В этой статье представлен обзор добавления ведения журнала с помощью Log4j в приложения, использующие пакет SDK Azure для Java. Как упоминалось в разделе Настройка ведения журнала в Azure SDK for Java, все клиентские библиотеки Azure используют SLF4Jдля ведения журнала, поэтому вы можете использовать такие журнальные фреймворки, как log4j.

В этой статье приводятся рекомендации по использованию выпусков Log4J 2.x, но Log4J 1.x также поддерживается пакетом SDK Azure для Java. Чтобы включить ведение журнала log4j, необходимо выполнить две действия.

  1. Включите библиотеку log4j в качестве зависимости.
  2. Создайте файл конфигурации (log4j2.properties или log4j2.xml) в каталоге проекта /src/main/resources.

Дополнительные сведения о настройке log4j см. в разделе Приветствие в Log4j 2.

Добавьте зависимость Maven

Чтобы добавить зависимость Maven, добавьте следующий XML-код в файл pom.xml проекта. Замените номер версии 2.16.0 номером последней версии, показанным на странице привязки Apache Log4j SLF4J.

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

Заметка

Из-за известной уязвимости, CVE-2021-44228, обязательно используйте Log4j версии 2.16 или более поздней.

Настройка Log4j

Существует два распространенных способа настройки Log4j: через файл внешних свойств или через внешний XML-файл. Эти подходы описаны ниже.

Использование файла свойств

Файл неструктурированных свойств с именем log4j2.properties можно поместить в каталог /src/main/resources каталога проекта. Этот файл должен иметь следующую форму:

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

Использование XML-файла

XML-файл с именем log4j2.xml можно поместить в каталог /src/main/resources проекта. Этот файл должен иметь следующую форму:

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

Дальнейшие действия

В этой статье описана конфигурация Log4j и способ использования пакета SDK Azure для Java для ведения журнала. Так как пакет SDK Azure для Java работает со всеми платформами ведения журнала SLF4J, рассмотрите возможность просмотра руководства пользователя SLF4J для получения дополнительных сведений. Если вы используете Log4j, на его веб-сайте представлено огромное количество рекомендаций по настройке. Дополнительные сведения см. в разделе Добро пожаловать в Log4j 2!

После настройки ведения журнала рассмотрите возможности интеграции, которые Azure предлагает в платформы, такие как Spring и MicroProfile.