Создание журналов с помощью Azure SDK для Java и java.util.logging

В этой статье приводятся общие сведения о добавлении ведения журналов в приложения, использующие Azure SDK для Java, с помощью java.util.logging. Платформа java.util.logging является частью JDK. Как упоминалось в статье Настройка ведения журнала в Azure SDK для Java, все клиентские библиотеки Azure ведут журналы с использованием SLF4J, поэтому вы можете использовать такие платформы ведения журналов, как java.util.logging.

Чтобы включить ведение журнала с помощью java.util.logging, необходимо выполнить два действия:

  1. Настроить адаптер SLF4J для java.util.logging в качестве зависимости.
  2. Создать файл с именем logging.properties в каталоге проекта /src/main/resources.

Дополнительные сведения о настройке средства ведения журнала см. в статье Настройка выходных данных ведения журнала документации Oracle.

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

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

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-jdk14</artifactId>
    <version>1.7.30</version> <!-- replace this version with the latest available version on Maven central -->
</dependency>

Добавление файла logging.properties в проект

Чтобы выполнить журнал с помощью java.util.logging, создайте файл с именем log.properties в каталоге ./src/main/resources проекта или в любом другом месте. Этот файл будет содержать конфигурации ведения журналов для настройки ведения журнала. Укажите путь к файлу, задав системное java.util.logging.config.file свойство. Перед созданием экземпляра средства ведения журнала необходимо задать это свойство. Дополнительные сведения см. в разделе "Ведение журнала Java: конфигурация".

Журнал консоли

Вы можете создать конфигурацию для создания журналов в консоли, как показано в следующем примере. В этом примере конфигурация приведет к регистрации всех событий ведения журнала уровня INFO или более высокого уровня, независимо от того, что является источником таких событий.

handlers = java.util.logging.ConsoleHandler
.level = INFO

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tH:%1$tM:%1$tS.%1$tL] [%4$s] %3$s %5$s %n

Создание журнала в файле

В приведенном выше примере журнал создается в консоли, что обычно не является предпочтительным расположением для журналов. Чтобы настроить ведение журнала в файле, используйте следующую конфигурацию:

handlers = java.util.logging.FileHandler
.level = INFO

java.util.logging.FileHandler.pattern = %h/myapplication.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO

Этот код создаст файл с именем myapplication.log в домашнем каталоге (%h). Это средство ведения журнала не поддерживает автоматическую смену файлов через определенное время. Если вам нужна эта функция, напишите планировщик заданий для управления сменой файла журнала.

Следующие шаги

В этой статье описано, как выполнить конфигурацию java.util.logging и о том, как настроить Azure SDK для Java, чтобы обеспечить использование такой конфигурации для ведения журнала этим средством. Поскольку Azure SDK для Java работает со всеми платформами ведения журналов SLF4J, ознакомьтесь с руководством пользователя SLF4J, чтобы получить дополнительные сведения.

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