Dynamisch logboekregistratieniveau instellen om problemen met Java-toepassingen in Azure Container Apps op te lossen (preview)
Het Azure Container Apps-platform biedt een ingebouwd hulpprogramma voor diagnostische gegevens, uitsluitend voor Java-ontwikkelaars om hen te helpen bij het opsporen en oplossen van problemen met hun Java-toepassingen die worden uitgevoerd in Azure Container Apps, eenvoudiger en efficiƫnter. Een van de belangrijkste functies is een dynamische wijziging op logboekniveau, waarmee u standaard toegang hebt tot logboekdetails die standaard zijn verborgen. Wanneer deze optie is ingeschakeld, worden logboekgegevens verzameld zonder codewijzigingen of wordt u gedwongen uw app opnieuw op te starten bij het wijzigen van logboekniveaus.
Voordat u aan de slag gaat, moet u de Azure Container Apps-extensie in uw Azure CLI upgraden naar versie 0.3.51 of hoger.
az extension update --name containerapp
JVM-diagnostische gegevens inschakelen voor uw Java-toepassingen
Voordat u het hulpprogramma voor diagnostische gegevens van Java gebruikt, moet u eerst Diagnostische gegevens van Java Virtual Machine (JVM) inschakelen voor uw Azure Container Apps. Met deze stap kunt u diagnostische java-functionaliteit inschakelen door een geavanceerde diagnostische agent in uw app te injecteren. Uw app kan tijdens dit proces opnieuw worden opgestart.
Als u wilt profiteren van deze diagnostische hulpprogramma's, kunt u een nieuwe container-app maken waarvoor deze zijn ingeschakeld of een bestaande container-app bijwerken.
Gebruik de volgende opdracht om een nieuwe container-app te maken waarvoor diagnostische gegevens van JVM zijn ingeschakeld:
az containerapp create --enable-java-agent \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Gebruik de volgende opdracht om een bestaande container-app bij te werken:
az containerapp update --enable-java-agent \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Runtimelogboekniveaus wijzigen
Nadat U JVM-diagnostische gegevens hebt ingeschakeld, kunt u de runtimelogboekniveaus voor specifieke logboekregistraties in uw actieve Java-app wijzigen zonder dat u de toepassing opnieuw hoeft te starten.
In het volgende voorbeeld wordt de naam van de logboekregistratie org.springframework.boot
gebruikt met het logboekniveau info
. Zorg ervoor dat u deze waarden wijzigt zodat deze overeenkomen met uw eigen logboeknaam en -niveau.
Gebruik de volgende opdracht om logboekniveaus voor een specifieke logboekregistratie aan te passen:
az containerapp java logger set \
--logger-name "org.springframework.boot" \
--logger-level "info"
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Het kan tot twee minuten duren voordat de wijziging van het logboekniveau van kracht wordt. Zodra dit is voltooid, kunt u de toepassingslogboeken controleren vanuit logboekstreams of andere logboekopties.
Ondersteunde Frameworks voor Java-logboekregistratie
De volgende Frameworks voor Java-logboekregistratie worden ondersteund:
- Log4j2 (alleen versie 2.*)
- Logback
- jboss-logging
Ondersteunde logboekniveaus door verschillende frameworks voor logboekregistratie
Verschillende frameworks voor logboekregistratie ondersteunen verschillende logboekniveaus. In het JVM Diagnostics-platform worden sommige frameworks beter ondersteund dan andere. Voordat u logboekregistratieniveaus wijzigt, moet u ervoor zorgen dat het framework en het platform de logboekniveaus ondersteunen die u gebruikt.
Framework | UIT | NOODLOTTIG | FOUT | WAARSCHUWEN | INFO | DEBUG | TRACEREN |
---|---|---|---|---|---|---|---|
Log4j2 | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Logback | Ja | No | Ja | Ja | Ja | Ja | Ja |
jboss-logging | Nr. | Ja | Ja | Ja | Ja | Ja | Ja |
Platform | Ja | No | Ja | Ja | Ja | Ja | Ja |
Algemene zichtbaarheid van logboekniveaus
Logboekniveau | NOODLOTTIG | FOUT | WAARSCHUWEN | INFO | DEBUG | TRACEREN |
---|---|---|---|---|---|---|
AF | ||||||
NOODLOTTIG | Ja | |||||
FOUT | Ja | Ja | ||||
WAARSCHUWEN | Ja | Ja | Ja | |||
INFO | Ja | Ja | Ja | Ja | ||
DEBUG | Ja | Ja | Ja | Ja | Ja | |
SPOOR | Ja | Ja | Ja | Ja | Ja | Ja |
Als u bijvoorbeeld het logboekniveau INFO
instelt op , worden logboeken afgedrukt met niveau FATAL
, ERROR
, WARN
, en INFO
worden logboeken niet afgedrukt met niveau DEBUG
en TRACE
.