Azure Container Apps'te Java uygulamalarının sorunlarını gidermek için dinamik günlükçü düzeyini ayarlama (önizleme)
Azure Container Apps platformu, Azure Container Apps üzerinde çalışan Java uygulamalarında daha kolay ve verimli bir şekilde hata ayıklamalarına ve sorunlarını gidermelerine yardımcı olmak için yalnızca Java geliştiricilerine yönelik yerleşik bir tanılama aracı sunar. Önemli özelliklerden biri, varsayılan olarak gizli olan günlük ayrıntılarına erişmenizi sağlayan dinamik günlükçü düzeyi değişikliğidir. Etkinleştirildiğinde, günlük bilgileri kod değişikliği yapılmadan veya günlük düzeylerini değiştirirken uygulamanızı yeniden başlatmaya zorlanmadan toplanır.
Başlamadan önce, Azure CLI'nızdaki Azure Container Apps uzantısını 0.3.51 veya daha yeni bir sürüme yükseltmeniz gerekir.
az extension update --name containerapp
Not
Bu özellik Java 8 veya daha yeni sürümlerde çalışan uygulamalarla uyumludur.
Java uygulamalarınız için JVM tanılamasını etkinleştirme
Java tanılama aracını kullanmadan önce Azure Container Apps'iniz için Java Sanal Makinesi (JVM) tanılamasını etkinleştirmeniz gerekir. Bu adım, uygulamanıza gelişmiş bir tanılama aracısı ekleyerek Java tanılama işlevselliğini etkinleştirir. Uygulamanız bu işlem sırasında yeniden başlatabilir.
Bu tanılama araçlarından yararlanmak için, etkin olan yeni bir kapsayıcı uygulaması oluşturabilir veya mevcut bir kapsayıcı uygulamasını güncelleştirebilirsiniz.
JVM tanılamaları etkinleştirilmiş yeni bir kapsayıcı uygulaması oluşturmak için aşağıdaki komutu kullanın:
az containerapp create --enable-java-agent \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Mevcut bir kapsayıcı uygulamasını güncelleştirmek için aşağıdaki komutu kullanın:
az containerapp update --enable-java-agent \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Çalışma zamanı günlükçü düzeylerini değiştirme
JVM tanılamasını etkinleştirdikten sonra, uygulamanızı yeniden başlatmanıza gerek kalmadan çalışan Java uygulamanızdaki belirli günlükçülerin çalışma zamanı günlük düzeylerini değiştirebilirsiniz.
Aşağıdaki örnek günlük düzeyiyle info
günlükçü adını org.springframework.boot
kullanır. Bu değerleri kendi günlükçü adınız ve düzeyinizle eşleşecek şekilde değiştirdiğinizden emin olun.
Belirli bir günlükçü için günlük düzeylerini ayarlamak için aşağıdaki komutu kullanın:
az containerapp java logger set \
--logger-name "org.springframework.boot" \
--logger-level "info"
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
Günlükçü düzeyi değişikliğinin geçerlilik kazanması iki dakika kadar sürebilir. İşlem tamamlandıktan sonra günlük akışlarından veya diğer günlük seçeneklerinden uygulama günlüklerini de kontrol edebilirsiniz.
Desteklenen Java günlük çerçeveleri
Aşağıdaki Java günlük çerçeveleri desteklenir:
- Log4j2 (yalnızca sürüm 2.*)
- Geri Dönme
- jboss günlüğü
Farklı günlük çerçeveleri tarafından desteklenen günlük düzeyleri
Farklı günlük çerçeveleri farklı günlük düzeylerini destekler. JVM tanılama platformunda bazı çerçeveler diğerlerinden daha iyi desteklenir. Günlük düzeylerini değiştirmeden önce çerçevenin ve platformun kullandığınız günlük düzeylerini desteklediğinden emin olun.
Çerçeve | KAPALI | ÖLÜMCÜL | HATA | UYARMAK | INFO | HATA AYIKLAMA | TRACE |
---|---|---|---|---|---|---|---|
Log4j2 | Yes | Evet | Evet | Evet | Evet | Evet | Yes |
Geri Dönme | Yes | Hayı | Evet | Evet | Evet | Evet | Yes |
jboss günlüğü | Hayır | Evet | Evet | Evet | Evet | Evet | Yes |
Platform | Yes | Hayı | Evet | Evet | Evet | Evet | Yes |
Günlük düzeylerinin genel görünürlüğü
Günlük Düzeyi | ÖLÜMCÜL | HATA | UYARMAK | INFO | HATA AYIKLAMA | TRACE |
---|---|---|---|---|---|---|
KAPALI | ||||||
ÖLÜMCÜL | Yes | |||||
HATA | Yes | Yes | ||||
UYARMAK | Yes | Evet | Yes | |||
BİLGİ | Yes | Evet | Evet | Yes | ||
HATA AYIKLAMA | Yes | Evet | Evet | Evet | Yes | |
İZ | Yes | Evet | Evet | Evet | Evet | Yes |
Örneğin, günlük düzeyini olarak INFO
ayarlarsanız, uygulamanız günlükleri düzeyi FATAL
, ERROR
, WARN
, INFO
ve ile yazdırır ve ile DEBUG
TRACE
günlükleri YAZDıRMAZ.