Aracılığıyla paylaş


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ızda Azure Container Apps uzantısını denetlemeniz gerekir:

az extension show --name containerapp

Uzantı yüklü değilse önce yükleyin. Azure Container Apps uzantısı yüklüyse 0.3.51 veya daha yeni bir sürüm olmalıdır.

az extension add -n 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 org.springframework.bootgünlükçü adını info 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:

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 BİLGİ HATA AYIKLAMA İzlemek
Log4j2 Evet Evet Evet Evet Evet Evet Evet
Geri Dönme Evet Hayı Evet Evet Evet Evet Evet
jboss günlüğü Hayı Evet Evet Evet Evet Evet Evet
Peron Evet Hayı Evet Evet Evet Evet Evet

Günlük düzeylerinin genel görünürlüğü

Günlük Düzeyi ÖLÜMCÜL HATA UYARMAK BİLGİ HATA AYIKLAMA İzlemek
KAPALI
ÖLÜMCÜL Evet
HATA Evet Evet
UYARMAK Evet Evet Evet
BİLGİ Evet Evet Evet Evet
HATA AYIKLAMA Evet Evet Evet Evet Evet
İZ Evet Evet Evet Evet Evet Evet

Örneğin, günlük düzeyini olarak INFOayarlarsanız, uygulamanız günlükleri düzeyi FATAL, ERROR, WARN, INFOve ile yazdırır ve ile DEBUGTRACEgünlükleri YAZDıRMAZ.