Bagikan melalui


Mengatur tingkat pencatat dinamis untuk memecahkan masalah aplikasi Java di Azure Container Apps (pratinjau)

Platform Azure Container Apps menawarkan alat diagnostik bawaan khusus bagi pengembang Java untuk membantu mereka men-debug dan memecahkan masalah aplikasi Java mereka yang berjalan di Azure Container Apps dengan lebih mudah dan efisien. Salah satu fitur utama adalah perubahan tingkat pencatat dinamis, yang memungkinkan Anda mengakses detail log yang disembunyikan secara default. Saat diaktifkan, informasi log dikumpulkan tanpa modifikasi kode atau memaksa Anda untuk memulai ulang aplikasi saat mengubah tingkat log.

Sebelum memulai, Anda perlu meningkatkan ekstensi Azure Container Apps di Azure CLI Anda ke versi 0.3.51 atau yang lebih baru.

az extension update --name containerapp

Catatan

Fitur ini kompatibel dengan aplikasi yang berjalan pada Java 8 atau versi yang lebih baru.

Mengaktifkan diagnostik JVM untuk aplikasi Java Anda

Sebelum menggunakan alat diagnostik Java, Anda harus terlebih dahulu mengaktifkan diagnostik Java Virtual Machine (JVM) untuk Azure Container Apps Anda. Langkah ini memungkinkan fungsionalitas diagnostik Java dengan menyuntikkan agen diagnostik tingkat lanjut ke aplikasi Anda. Aplikasi Anda mungkin dimulai ulang selama proses ini.

Untuk memanfaatkan alat diagnostik ini, Anda dapat membuat aplikasi kontainer baru dengan mengaktifkannya, atau memperbarui aplikasi kontainer yang ada.

Untuk membuat aplikasi kontainer baru dengan diagnostik JVM diaktifkan, gunakan perintah berikut:

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

Untuk memperbarui aplikasi kontainer yang sudah ada, gunakan perintah berikut:

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

Mengubah tingkat pencatat runtime

Setelah mengaktifkan diagnostik JVM, Anda dapat mengubah tingkat log runtime untuk pencatat tertentu di aplikasi Java yang sedang berjalan tanpa perlu memulai ulang aplikasi Anda.

Sampel berikut menggunakan nama org.springframework.boot pencatat dengan tingkat infolog . Pastikan untuk mengubah nilai-nilai ini agar sesuai dengan nama dan tingkat pencatat Anda sendiri.

Gunakan perintah berikut untuk menyesuaikan tingkat log untuk pencatat tertentu:

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

Mungkin perlu waktu hingga dua menit agar perubahan tingkat pencatat berlaku. Setelah selesai, Anda dapat memeriksa log aplikasi dari aliran log atau opsi log lainnya.

Kerangka kerja pengelogan Java yang didukung

Kerangka kerja pengelogan Java berikut ini didukung:

Tingkat log yang didukung oleh kerangka kerja pengelogan yang berbeda

Kerangka kerja pengelogan yang berbeda mendukung tingkat log yang berbeda. Dalam platform diagnostik JVM, beberapa kerangka kerja lebih didukung daripada yang lain. Sebelum mengubah tingkat pengelogan, pastikan kerangka kerja dan platform mendukung tingkat log yang Anda gunakan.

Kerangka TIDAK AKTIF FATAL KESALAHAN PERINGATKAN INFO DEBUG TRACE
Log4j2 Ya Ya Ya Ya Ya Ya Ya
Logback Ya No Ya Ya Ya Ya Ya
jboss-logging Tidak Ya Ya Ya Ya Ya Ya
Platform Ya No Ya Ya Ya Ya Ya

Visibilitas umum tingkat log

Tingkat log FATAL KESALAHAN PERINGATKAN INFO DEBUG TRACE
TIDAK AKTIF
FATAL Ya
KESALAHAN Ya Ya
TEGUR Ya Ya Ya
INFO Ya Ya Ya Ya
DEBUG Ya Ya Ya Ya Ya
TRACE Ya Ya Ya Ya Ya Ya

Misalnya, jika Anda mengatur tingkat log ke INFO, aplikasi Anda mencetak log dengan tingkat FATAL, , ERRORWARN, INFO, dan TIDAK mencetak log dengan tingkat DEBUG dan TRACE.