تعيين مستوى المسجل الديناميكي لاستكشاف أخطاء تطبيقات Java وإصلاحها في Azure Container Apps (معاينة)
يوفر النظام الأساسي Azure Container Apps أداة تشخيص مضمنة حصريا لمطوري Java لمساعدتهم على تصحيح أخطاء تطبيقات Java الخاصة بهم التي تعمل على Azure Container Apps واستكشاف الأخطاء وإصلاحها بسهولة وكفاءة أكبر. إحدى الميزات الرئيسية هي تغيير مستوى المسجل الديناميكي، والذي يسمح لك بالوصول إلى تفاصيل السجل المخفية بشكل افتراضي. عند التمكين، يتم جمع معلومات السجل دون تعديلات على التعليمات البرمجية أو إجبارك على إعادة تشغيل التطبيق عند تغيير مستويات السجل.
قبل البدء، تحتاج إلى ترقية ملحق Azure Container Apps في Azure CLI إلى الإصدار 0.3.51 أو أحدث.
az extension update --name containerapp
إشعار
هذه الميزة متوافقة مع التطبيقات التي تعمل على Java 8 أو الإصدارات الأحدث.
تمكين تشخيصات JVM لتطبيقات Java الخاصة بك
قبل استخدام أداة تشخيص Java، تحتاج أولا إلى تمكين تشخيصات جهاز Java الظاهري (JVM) لتطبيقات حاوية Azure. تمكن هذه الخطوة وظيفة تشخيص Java عن طريق إدخال عامل تشخيص متقدم في تطبيقك. قد تتم إعادة تشغيل تطبيقك أثناء هذه العملية.
للاستفادة من أدوات التشخيص هذه، يمكنك إنشاء تطبيق حاوية جديد مع تمكينه، أو تحديث تطبيق حاوية موجود.
لإنشاء تطبيق حاوية جديد مع تمكين تشخيصات JVM، استخدم الأمر التالي:
az containerapp create --enable-java-agent \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
لتحديث تطبيق حاوية موجود، استخدم الأمر التالي:
az containerapp update --enable-java-agent \
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
تغيير مستويات مسجل وقت التشغيل
بعد تمكين تشخيصات JVM، يمكنك تغيير مستويات سجل وقت التشغيل لمسجلات معينة في تطبيق Java قيد التشغيل دون الحاجة إلى إعادة تشغيل التطبيق الخاص بك.
يستخدم النموذج التالي اسم org.springframework.boot
المسجل مع مستوى info
السجل . تأكد من تغيير هذه القيم لمطابقة اسم المسجل ومستوىه.
استخدم الأمر التالي لضبط مستويات السجل لمسجل معين:
az containerapp java logger set \
--logger-name "org.springframework.boot" \
--logger-level "info"
--resource-group <RESOURCE_GROUP> \
--name <CONTAINER_APP_NAME>
قد يستغرق الأمر ما يصل إلى دقيقتين حتى يصبح تغيير مستوى المسجل ساري المفعول. بمجرد الانتهاء، يمكنك التحقق من سجلات التطبيق من تدفقات السجل أو خيارات السجل الأخرى.
أطر عمل تسجيل Java المدعومة
يتم دعم أطر عمل تسجيل Java التالية:
- Log4j2 (الإصدار 2 فقط.*)
- تسجيل الدخول
- تسجيل jboss
مستويات السجل المدعومة بواسطة أطر عمل تسجيل مختلفة
تدعم أطر عمل التسجيل المختلفة مستويات سجل مختلفة. في النظام الأساسي لتشخيص JVM، يتم دعم بعض أطر العمل بشكل أفضل من غيرها. قبل تغيير مستويات التسجيل، تأكد من أن إطار العمل والنظام الأساسي يدعمان مستويات السجل التي تستخدمها.
Framework | إيقاف التشغيل | فادح | خطأ | حذر | معلومات | تتبع الأخطاء | التتبع |
---|---|---|---|---|---|---|---|
لوجي4j2 | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
تسجيل الدخول | نعم | لا | نعم | نعم | نعم | نعم | نعم |
تسجيل jboss | لا | نعم | نعم | نعم | نعم | نعم | نعم |
النظام الأساسي | نعم | لا | نعم | نعم | نعم | نعم | نعم |
الرؤية العامة لمستوي السجل
مستوى السجل | فادح | خطأ | حذر | معلومات | تتبع الأخطاء | التتبع |
---|---|---|---|---|---|---|
قباله | ||||||
قاتل | نعم | |||||
خطأ | نعم | نعم | ||||
حذر | نعم | نعم | نعم | |||
معلومات | نعم | نعم | نعم | نعم | ||
تصحيح | نعم | نعم | نعم | نعم | نعم | |
أثر | نعم | نعم | نعم | نعم | نعم | نعم |
على سبيل المثال، إذا قمت بتعيين مستوى السجل إلى INFO
، يقوم تطبيقك بطباعة السجلات ذات المستوى FATAL
و INFO
ERROR
WARN
و و و و لا يطبع السجلات بالمستوى DEBUG
وTRACE
.