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 info
log . 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:
- Log4j2 (hanya versi 2.*)
- Logback
- pengelogan jboss
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
, , ERROR
WARN
, INFO
, dan TIDAK mencetak log dengan tingkat DEBUG
dan TRACE
.