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 upgradovat rozšíření Azure Container Apps na verzi 0.3.51 nebo novější.
az extension update --name 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í info
protokolu . 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:
- Log4j2 (pouze verze 2.*)
- Zpětný protokol
- jboss-logging
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.
Framework | OFF | FATÁLNÍ | CHYBA | VAROVAT | INFO | LADIT | TRACE |
---|---|---|---|---|---|---|---|
Log4j2 | Ano | Ano | Ano | Ano | Ano | Ano | Yes |
Zpětný protokol | Yes | Ne | Ano | Ano | Ano | Ano | Yes |
jboss-logging | No | Ano | Ano | Ano | Ano | Ano | Yes |
Platforma | Yes | Ne | Ano | Ano | Ano | Ano | Yes |
Obecná viditelnost úrovní protokolu
Úroveň protokolu | FATÁLNÍ | CHYBA | VAROVAT | INFO | LADIT | TRACE |
---|---|---|---|---|---|---|
PRYČ | ||||||
FATÁLNÍ | Ano | |||||
CHYBA | Ano | Yes | ||||
VAROVAT | Ano | Ano | Yes | |||
INFORMACE | Ano | Ano | Ano | Yes | ||
LADICÍ | Ano | Ano | Ano | Ano | Yes | |
STOPA | Ano | Ano | Ano | Ano | Ano | Yes |
Pokud například nastavíte úroveň protokolu na INFO
, vaše aplikace vytiskne protokoly s úrovní FATAL
, ERROR
, WARN
, INFO
a netiskne protokoly s úrovní DEBUG
a TRACE
.