Настройка уровня динамического ведения журнала для устранения неполадок приложений Java в приложениях контейнеров Azure (предварительная версия)
Платформа приложений контейнеров Azure предлагает встроенный инструмент диагностика исключительно для разработчиков Java, чтобы помочь им отлаживать и устранять неполадки приложений Java, работающих в приложениях контейнеров Azure, проще и эффективнее. Одним из ключевых функций является изменение уровня динамического ведения журнала, которое позволяет получить доступ к сведениям журнала, скрытым по умолчанию. При включении данные журнала собираются без изменений кода или принудительно перезапускать приложение при изменении уровней журнала.
Прежде чем приступить к работе, необходимо обновить расширение Azure Container Apps в Azure CLI до версии 0.3.51 или более поздней.
az extension update --name containerapp
Включение диагностика JVM для приложений Java
Перед использованием средства java диагностика необходимо сначала включить диагностика виртуальных машин Java (JVM) для приложений контейнеров Azure. Этот шаг позволяет использовать функции Java диагностика путем внедрения расширенного агента диагностика в приложение. Приложение может перезапуститься во время этого процесса.
Чтобы воспользоваться этими средствами диагностики, можно создать новое приложение контейнера с включенными или обновить существующее приложение контейнера.
Чтобы создать приложение-контейнер с поддержкой JVM диагностика, используйте следующую команду:
az containerapp create --enable-java-agent \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Чтобы обновить существующее приложение контейнера, используйте следующую команду:
az containerapp update --enable-java-agent \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Изменение уровней средства ведения журнала среды выполнения
После включения диагностика JVM можно изменить уровни журналов среды выполнения для определенных средств ведения журнала в работающем приложении Java без необходимости перезапускать приложение.
В следующем примере используется имя org.springframework.boot
средства ведения журнала с уровнем info
журнала. Обязательно измените эти значения, чтобы они соответствовали имени и уровню средства ведения журнала.
Используйте следующую команду, чтобы настроить уровни журналов для определенного средства ведения журнала:
az containerapp java logger set \
--logger-name "org.springframework.boot" \
--logger-level "info"
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Чтобы изменить уровень средства ведения журнала, может потребоваться до двух минут. После завершения можно проверить журналы приложений из потоков журналов или других параметров журнала.
Поддерживаемые платформы ведения журнала Java
Поддерживаются следующие платформы ведения журнала Java:
- Log4j2 (только версия 2.*)
- Logback
- jboss-logging
Поддерживаемые уровни журналов различными платформами ведения журнала
Разные платформы ведения журнала поддерживают разные уровни журналов. На платформе JVM диагностика некоторые платформы лучше поддерживаются, чем другие. Перед изменением уровней ведения журнала убедитесь, что платформа и платформа поддерживают уровни журналов, которые вы используете.
Платформа | ВЫКЛ. | FATAL | ОШИБКА | WARN | INFO | ОТЛАДКА | ТРАССИРОВКА |
---|---|---|---|---|---|---|---|
Log4j2 | Да | Да | Да | Да | Да | Да | Да |
Logback | Да | No | Да | Да | Да | Да | Да |
jboss-logging | No | Да | Да | Да | Да | Да | Да |
Платформа | Да | No | Да | Да | Да | Да | Да |
Общая видимость уровней журнала
Уровень журнала | FATAL | ОШИБКА | WARN | INFO | ОТЛАДКА | ТРАССИРОВКА |
---|---|---|---|---|---|---|
OFF | ||||||
РОКОВОЙ | Да | |||||
ERROR | Да | Да | ||||
ПРЕДУПРЕЖДАТЬ | Да | Да | Да | |||
ИНФОРМАЦИЯ | Да | Да | Да | Да | ||
ОТЛАЖИВАТЬ | Да | Да | Да | Да | Да | |
TRACE | Да | Да | Да | Да | Да | Да |
Например, если вы настроили уровень INFO
журнала, приложение печатает журналы с уровнем FATAL
, ERROR
, и WARN
INFO
не печатает журналы с уровнем DEBUG
иTRACE
.