Delen via


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:

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 INFOinstelt op , worden logboeken afgedrukt met niveau FATAL, ERROR, WARN, en INFOworden logboeken niet afgedrukt met niveau DEBUG en TRACE.