Sdílet prostřednictvím


Nastavení úrovně dynamického protokolovacího nástroje pro řešení potíží s aplikacemi Java v Azure Container Apps (Preview)

Platforma Azure Container Apps nabízí integrovaný diagnostický nástroj výhradně pro vývojáře v Javě, který jim pomůže ladit a řešit potíže s aplikacemi v Javě spuštěnými v Azure Container Apps snadněji a efektivněji. Jednou z klíčových funkcí je změna na úrovni dynamického protokolovacího nástroje, která umožňuje přístup k podrobnostem protokolu, které jsou ve výchozím nastavení skryté. Pokud je tato možnost povolená, shromažďují se informace protokolu bez úprav kódu nebo vynucení restartování aplikace při změně úrovní protokolu.

Než začnete, musíte v Azure CLI zkontrolovat rozšíření Azure Container Apps:

az extension show --name containerapp

Pokud rozšíření není nainstalované, nainstalujte ho nejprve. Pokud je nainstalované rozšíření Azure Container Apps, mělo by to být verze 0.3.51 nebo novější.

az extension add -n containerapp

Poznámka:

Tato funkce je kompatibilní s aplikacemi běžícími v Javě 8 nebo novějších verzích.

Povolení diagnostiky prostředí JVM pro aplikace v Javě

Před použitím diagnostického nástroje v Javě musíte nejprve povolit diagnostiku prostředí Java Virtual Machine (JVM) pro vaše aplikace Azure Container Apps. Tento krok umožňuje diagnostiku Javy vložením pokročilého diagnostického agenta do vaší aplikace. Během tohoto procesu se může vaše aplikace restartovat.

Pokud chcete využít výhod těchto diagnostických nástrojů, můžete vytvořit novou aplikaci kontejneru s povolenými nebo aktualizovat existující aplikaci kontejneru.

Pokud chcete vytvořit novou aplikaci kontejneru s povolenou diagnostikou JVM, použijte následující příkaz:

az containerapp create --enable-java-agent \
  --environment <ENVIRONMENT_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --name <CONTAINER_APP_NAME>

Pokud chcete aktualizovat existující aplikaci kontejneru, použijte následující příkaz:

az containerapp update --enable-java-agent \
  --resource-group <RESOURCE_GROUP> \
  --name <CONTAINER_APP_NAME>

Změna úrovní protokolovacího modulu runtime

Po povolení diagnostiky prostředí JVM můžete změnit úrovně protokolů modulu runtime pro konkrétní protokolovací nástroje ve spuštěné aplikaci Java, aniž byste museli aplikaci restartovat.

Následující ukázka používá název org.springframework.boot protokolovacího nástroje s úrovní infoprotokolu . Nezapomeňte tyto hodnoty změnit tak, aby odpovídaly vašemu vlastnímu názvu a úrovni protokolovacího nástroje.

K úpravě úrovní protokolu pro konkrétní protokolovací nástroj použijte následující příkaz:

az containerapp java logger set \
  --logger-name "org.springframework.boot" \
  --logger-level "info" \
  --resource-group <RESOURCE_GROUP> \
  --name <CONTAINER_APP_NAME>

Může trvat až dvě minuty, než se změna na úrovni protokolovacího nástroje projeví. Po dokončení můžete zkontrolovat protokoly aplikace z datových proudů protokolů nebo jiných možností protokolu.

Podporované architektury protokolování v Javě

Podporují se následující architektury protokolování Java:

Podporované úrovně protokolů podle různých rozhraní protokolování

Různé protokolovací architektury podporují různé úrovně protokolů. V diagnostické platformě prostředí JVM se některé architektury podporují lépe než jiné. Před změnou úrovní protokolování se ujistěte, že architektura a platforma podporují úrovně protokolů, které používáte.

Rámec Vypnuto FATÁLNÍ CHYBA VAROVAT Informace LADIT STOPA
Log4j2 Ano Ano Ano Ano Ano Ano Ano
Zpětný protokol Ano Ne Ano Ano Ano Ano Ano
jboss-logging Ne Ano Ano Ano Ano Ano Ano
Platforma Ano Ne Ano Ano Ano Ano Ano

Obecná viditelnost úrovní protokolu

Úroveň protokolu FATÁLNÍ CHYBA VAROVAT Informace LADIT STOPA
PRYČ
FATÁLNÍ Ano
CHYBA Ano Ano
VAROVAT Ano Ano Ano
INFORMACE Ano Ano Ano Ano
LADICÍ Ano Ano Ano Ano Ano
STOPA Ano Ano Ano Ano Ano Ano

Pokud například nastavíte úroveň protokolu na INFO, vaše aplikace vytiskne protokoly s úrovní FATAL, ERROR, WARN, INFOa netiskne protokoly s úrovní DEBUG a TRACE.