Ange dynamisk loggningsnivå för att felsöka Java-program i Azure Container Apps (förhandsversion)
Azure Container Apps-plattformen erbjuder ett inbyggt diagnostikverktyg exklusivt för Java-utvecklare som hjälper dem att felsöka och felsöka sina Java-program som körs på Azure Container Apps på ett enklare och effektivare sätt. En av de viktigaste funktionerna är en dynamisk ändring på loggningsnivå, som gör att du kan komma åt logginformation som är dold som standard. När den är aktiverad samlas logginformation in utan kodändringar eller tvingar dig att starta om appen när du ändrar loggnivåer.
Innan du kommer igång måste du uppgradera Azure Container Apps-tillägget i Azure CLI till version 0.3.51 eller senare.
az extension update --name containerapp
Aktivera JVM-diagnostik för dina Java-program
Innan du använder Java-diagnostikverktyget måste du först aktivera JVM-diagnostik (Java Virtual Machine) för dina Azure Container Apps. Det här steget aktiverar Java-diagnostikfunktioner genom att mata in en avancerad diagnostikagent i din app. Din app kan startas om under den här processen.
Om du vill dra nytta av de här diagnostikverktygen kan du skapa en ny containerapp med dem aktiverade eller uppdatera en befintlig containerapp.
Om du vill skapa en ny containerapp med JVM-diagnostik aktiverad använder du följande kommando:
az containerapp create --enable-java-agent \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Om du vill uppdatera en befintlig containerapp använder du följande kommando:
az containerapp update --enable-java-agent \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Ändra körningsloggningsnivåer
När du har aktiverat JVM-diagnostik kan du ändra körningsloggnivåerna för specifika loggare i java-appen som körs utan att behöva starta om programmet.
I följande exempel används loggningsnamnet org.springframework.boot
med loggnivån info
. Se till att ändra dessa värden så att de matchar ditt eget loggningsnamn och nivå.
Använd följande kommando för att justera loggnivåerna för en specifik loggare:
az containerapp java logger set \
--logger-name "org.springframework.boot" \
--logger-level "info"
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Det kan ta upp till två minuter innan ändringen på loggningsnivå börjar gälla. När du är klar kan du kontrollera programloggarna från loggströmmar eller andra loggalternativ.
Java-loggningsramverk som stöds
Följande Java-loggningsramverk stöds:
- Log4j2 (endast version 2.*)
- Tillbakaloggning
- jboss-logging
Loggnivåer som stöds av olika loggningsramverk
Olika loggningsramverk stöder olika loggnivåer. I JVM-diagnostikplattformen stöds vissa ramverk bättre än andra. Innan du ändrar loggningsnivåer kontrollerar du att ramverket och plattformen stöder de loggnivåer som du använder.
Ramverk | OFF | DÖDLIG | ERROR | VARNA | INFO | FELSÖKNING | SPÅRNING |
---|---|---|---|---|---|---|---|
Log4j2 | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Tillbakaloggning | Ja | No | Ja | Ja | Ja | Ja | Ja |
jboss-logging | Nej | Ja | Ja | Ja | Ja | Ja | Ja |
Plattform | Ja | No | Ja | Ja | Ja | Ja | Ja |
Allmän synlighet för loggnivåer
Loggningsnivå | DÖDLIG | ERROR | VARNA | INFO | FELSÖKNING | SPÅRNING |
---|---|---|---|---|---|---|
BORT | ||||||
DÖDLIG | Ja | |||||
FEL | Ja | Ja | ||||
VARNA | Ja | Ja | Ja | |||
INFORMATION | Ja | Ja | Ja | Ja | ||
FELSÖKA | Ja | Ja | Ja | Ja | Ja | |
SPÅRA | Ja | Ja | Ja | Ja | Ja | Ja |
Om du till exempel anger loggnivå till INFO
skriver appen ut loggar med nivån FATAL
, ERROR
, WARN
, INFO
och skriver INTE ut loggar med nivå DEBUG
och TRACE
.