Megosztás a következőn keresztül:


Dinamikus naplózószint beállítása Java-alkalmazások hibaelhárításához az Azure Container Appsben (előzetes verzió)

Az Azure Container Apps platform egy beépített diagnosztikai eszközt kínál kizárólag Java-fejlesztők számára, hogy könnyebben és hatékonyabban tudják hibakeresést és hibaelhárítást végezni az Azure Container Appsen futó Java-alkalmazásaikban. Az egyik legfontosabb funkció a dinamikus naplózási szint módosítása, amely lehetővé teszi az alapértelmezés szerint rejtett naplóadatok elérését. Ha engedélyezve van, a rendszer kódmódosítások nélkül gyűjti össze a naplóadatokat, vagy arra kényszeríti, hogy indítsa újra az alkalmazást a naplószintek módosításakor.

Az első lépések előtt frissítenie kell az Azure Container Apps-bővítményt az Azure CLI-ben a 0.3.51-es vagy újabb verzióra.

az extension update --name containerapp

Feljegyzés

Ez a funkció kompatibilis a Java 8-on vagy újabb verziókon futó alkalmazásokkal.

JVM-diagnosztika engedélyezése Java-alkalmazásokhoz

A Java diagnosztikai eszköz használata előtt engedélyeznie kell a Java Virtuális gép (JVM) diagnosztikát az Azure Container Appshez. Ez a lépés lehetővé teszi a Java diagnosztikai funkcióit, ha egy speciális diagnosztikai ügynököt injektál az alkalmazásba. Előfordulhat, hogy az alkalmazás a folyamat során újraindul.

A diagnosztikai eszközök előnyeinek kihasználásához létrehozhat egy új tárolóalkalmazást, amely engedélyezve van, vagy frissíthet egy meglévő tárolóalkalmazást.

Ha új tárolóalkalmazást szeretne létrehozni, amelyen engedélyezve van a JVM-diagnosztika, használja a következő parancsot:

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

Meglévő tárolóalkalmazás frissítéséhez használja a következő parancsot:

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

Futásidejű naplózók szintjének módosítása

A JVM-diagnosztika engedélyezése után a futó Java-alkalmazásban anélkül módosíthatja a futtatókörnyezeti naplók szintjét, hogy újra kellene indítania az alkalmazást.

Az alábbi minta a naplózó nevét org.springframework.boot használja a naplószinttel info. Ügyeljen arra, hogy ezeket az értékeket úgy módosítsa, hogy azok megfeleljenek a saját naplózó nevének és szintjének.

Az alábbi paranccsal módosíthatja egy adott naplózó naplószintjeit:

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

A naplózási szint módosítása akár két percet is igénybe vehet. Ha elkészült, ellenőrizheti az alkalmazásnaplókat a naplóstreamekből vagy más naplóbeállításokból.

Támogatott Java-naplózási keretrendszerek

A következő Java-naplózási keretrendszerek támogatottak:

A különböző naplózási keretrendszerek által támogatott naplószintek

A különböző naplózási keretrendszerek különböző naplózási szinteket támogatnak. A JVM diagnosztikai platformon egyes keretrendszerek jobban támogatottak, mint mások. A naplózási szintek módosítása előtt győződjön meg arról, hogy a keretrendszer és a platform támogatja a használt naplószinteket.

Váz KI FATÁLIS Hiba FIGYELMEZTET INFÓ HIBAKERESÉS NYOMKÖVETÉSI
Log4j2 Igen Igen Igen Igen Igen Igen Igen
Visszavétel Igen Nem Igen Igen Igen Igen Igen
jboss-logging Nem Igen Igen Igen Igen Igen Igen
Peron Igen Nem Igen Igen Igen Igen Igen

A naplószintek általános láthatósága

Naplószint FATÁLIS Hiba FIGYELMEZTET INFÓ HIBAKERESÉS NYOMKÖVETÉSI
KI
FATÁLIS Igen
HIBA Igen Igen
FIGYELMEZTET Igen Igen Igen
INFÓ Igen Igen Igen Igen
DEBUG Igen Igen Igen Igen Igen
NYOM Igen Igen Igen Igen Igen Igen

Ha például a naplószintet INFOállítja be, az alkalmazás a naplókat szinttel FATAL, ERROR, , WARN, INFO, és NEM nyomtatja ki a naplókat szinttel DEBUG és TRACE.