Создание журналов с помощью Azure SDK для Java и Log4j
В этой статье приводятся общие сведения о добавлении ведения журналов в приложения, использующие Azure SDK для Java, с помощью Log4j. Как упоминалось в статье Настройка ведения журнала в Azure SDK для Java, все клиентские библиотеки Azure ведут журналы с использованием SLF4J, поэтому вы можете использовать такие платформы ведения журналов, как log4j.
В этой статье представлено руководство по использованию Log4J 2.x, однако Azure SDK для Java также поддерживает Log4J 1.x. Чтобы включить ведение журнала с помощью log4j, необходимо выполнить два действия:
- Настроить библиотеку log4j в качестве зависимости.
- Создать файл конфигурации (либо 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 и о том, как настроить Azure SDK для Java, чтобы обеспечить использование такой конфигурации для ведения журнала этим средством. Поскольку Azure SDK для Java работает со всеми платформами ведения журналов SLF4J, ознакомьтесь с руководством пользователя SLF4J, чтобы получить дополнительные сведения. Если вы используете Log4j, на веб-сайте этого средства также можно найти большое количество руководств по настройке. Дополнительные сведения см. в статье Вас приветствует Log4j 2!.
После того как вы научитесь вести журнал, рассмотрите возможность изучения интеграций, предоставляемых Azure для таких платформ, как Spring и MicroProfile.