تساعدك نافذة Logcat في "استوديو Android" على تصحيح الأخطاء في تطبيقك من خلال:
عرض السجلات من جهازك في الوقت الفعلي - مثل الرسائل التي
تمت إضافتها إلى تطبيقك من خلال الصف Log
، الرسائل
من الخدمات التي تعمل على Android، أو من رسائل النظام، مثل عند تلقي البيانات غير المرغوب فيها
جمع البيانات. عندما يطرح تطبيق استثناء، تعرض Logcat رسالة
متبوعًا بتتبُّع تسلسل استدعاء الدوال البرمجية المرتبط الذي يحتوي على روابط إلى سطر الرمز البرمجي.
بدء استخدام نافذة Logcat
لعرض رسائل سجلّ تطبيقك، اتّبِع الخطوات التالية:
- في "استوديو Android"، يمكنك إنشاء تطبيقك وتشغيله على أو جهاز محاكاة.
- حدّد عرض > نوافذ الأدوات > Logcat من شريط القوائم.
يتم تمرير Logcat تلقائيًا إلى النهاية. النقر في طريقة عرض Logcat أو الانتقال للأسفل باستخدام عجلة الماوس إلى إيقاف هذه الميزة. لتشغيله مرة أخرى، انقر على الانتقال إلى النهاية من شريط الأدوات. يمكنك أيضًا استخدام شريط الأدوات للمسح أو الإيقاف المؤقت أو إعادة التشغيل Logcat.
الشكل 1. تقوم Logcat بتنسيق السجلات لتسهيل فحص المعلومات المفيدة، مثل العلامات والرسائل، وتحدد أنواعًا مختلفة من السجلات، مثل التحذيرات والأخطاء.
كيفية قراءة السجلّات
ويحتوي كل سجل على تاريخ وطوابع زمنية ومعرّف عملية ومعرّف مؤشر وعلامة واسم حزمة
والأولوية والرسالة المرتبطة بها. العلامات المختلفة لها لون فريد
تساعد في تحديد نوع السجل. ولكل إدخال في السجل الأولوية FATAL
،
ERROR
أو WARNING
أو INFO
أو DEBUG
أو VERBOSE
على سبيل المثال، أولوية رسالة السجل التالية DEBUG
وعلامة
ProfileInstaller
:
2022-12-29 04:00:18.823 30249-30321 ProfileInstaller com.google.samples.apps.sunflower D Installing profile for com.google.samples.apps.sunflower
ضبط عرض السجلّ
تعرض طريقة عرض السجل القياسي تاريخ كل سجل ووقت العملية ومعرف سلسلة المحادثات والعلامة اسم الحزمة والأولوية والرسالة المرتبطة بها. إرسال رسالة تلقائيًا لا يتم التفاف الأسطر في عرض السجل ولكن يمكنك استخدام التفاف خفيف من شريط أدوات Logcat.
يمكنك التبديل إلى طريقة العرض مكثّفة، التي تتضمّن معلومات عرض تلقائية أقل. بالنقر على ضبط خيارات تنسيق Logcat () من شريط الأدوات Logcat
لضبط كمية المعلومات التي تريد عرضها، اختَر تعديل طرق العرض، واختر ما إذا كنت تريد رؤية الطابع الزمني والعلامات أو معرفات العمليات أو أسماء الحزم المعروضة.
تغيير الألوان
لتغيير الألوان، انتقِل إلى استوديو Android > الإعدادات > محرِّر > نظام الألوان: لتغيير نظام الألوان لعرض السجل، اختَر Android Logcat. لتغيير نظام الألوان للفلتر، اختَر فلتر Logcat:
خيارات الضبط الإضافية
للاطلاع على خيارات التهيئة الإضافية، انتقل إلى استوديو Android > الإعدادات > الأدوات > Logcat: من هنا، يمكنك اختيار أداة Logcat وحجم المخزن المؤقت لدورة متكررة، والفلتر الافتراضي لنوافذ Logcat الجديدة، وما إذا كان تريد إضافة فلاتر من السجلّ إلى ميزة "الإكمال التلقائي".
استخدام Logcat في نوافذ متعددة
تساعدك علامات التبويب في التبديل بسهولة بين الأجهزة أو طلبات البحث المختلفة. يمكنك إنشاء علامات تبويب Logcat متعددة من خلال النقر على علامة تبويب جديدة . يتيح لك النقر بزر الماوس الأيمن على علامة تبويب إعادة تسميتها وإعادة ترتيبها.
بالإضافة إلى ذلك، يمكنك تقسيم العرض ضمن علامة تبويب لمساعدتك في تنفيذ ذلك بسهولة أكبر. والمقارنة بين مجموعتين من السجلات. لإنشاء قسمة، انقر بزر الماوس الأيمن على أو انقر على خيار تقسيم اللوحات من شريط الأدوات، وحدد تقسيم لليمين أو تقسيم للأسفل. لإغلاق عملية تقسيم، انقر بزر الماوس الأيمن اختَر إغلاق. ويتيح لك كل قسم ضبط اتصال الجهاز الخاص به وعرض والخيارات والاستعلام.
الشكل 2. نوافذ Logcat المقسَّمة في "استوديو Android"
من شريط أدوات Logcat، يمكنك التمرير إلى نهاية السجلّات أو يمكنك النقر على سطر معين للحفاظ على هذا الخط مرئيًا.
سجلات طلب البحث باستخدام البحث باستخدام المفتاح/القيمة
في "استوديو Android"، يمكنك إجراء عمليات بحث ذات قيمة أساسية مباشرةً من
حقل الاستعلام الرئيسي. يوفّر نظام الاستعلامات هذا دقة ما تريد
وكذلك استبعاد السجلات استنادًا إلى القيم الأساسية. بينما لديك خيار
استخدام التعبيرات العادية، فلن تضطر إلى الاعتماد عليها في الاستعلامات. للاطلاع على
الاقتراحات، اضغط على Ctrl
+ Space
في حقل طلب البحث.
الشكل 3. اضغط على Ctrl
+ Space
في حقل طلب البحث للاطّلاع على قائمة
لطلبات البحث المقترحة.
فيما يلي بعض الأمثلة على المفاتيح التي يمكنك استخدامها في استعلامك:
tag
: يتطابق مع الحقلtag
في إدخال السجلّ.package
: تتطابق مع اسم حزمة تطبيق التسجيل.process
: يطابق اسم العملية لتطبيق التسجيل.message
: يطابق جزء الرسالة من إدخال السجلّ.level
: يتطابق مع مستوى السجلّ المحدّد أو الأعلى شديدًا، مثلDEBUG
.age
: تتم مطابقتها إذا كان الطابع الزمني للإدخال حديثًا. يتم تحديد القيم على أنها رقم متبوعًا بحرف يحدد الوحدة الزمنية:s
بالثواني وm
للإشارة إلى دقيقة، وh
للساعات وd
للأيام. على سبيل المثال،age: 5m
فلاتر فقط الرسائل التي تم تسجيلها خلال آخر 5 دقائق.
النفي والتعبيرات العادية
تتيح الحقول التالية استخدام علامة النفي ومطابقة التعبير العادي: tag
،
package
وmessage
وline
يتم التعبير عن النفي بإضافة -
إلى اسم الحقل في بداية الاسم. على سبيل المثال:
تتطابق -tag:MyTag
مع إدخالات السجلّ التي لا يحتوي tag
على السلسلة فيها.
MyTag
يتم التعبير عن مطابقة التعبير العادي من خلال إلحاق ~
باسم الحقل.
مثلاً: tag~:My.*Tag
يمكن الجمع بين معدِّلات النفي والتعبير العادي. على سبيل المثال:
-tag~:My.*Tag
العوامل والأقواس المنطقية
تتوافق لغة طلب البحث مع عاملَي التشغيل AND
وOR
اللذان يتم التعبير عنه بالاستناد إلى &
|
والأقواس. مثلاً:
(tag:foo | level:ERROR) & package:mine
يُرجى العلم بأنّه يتم فرض الأسبقية العادية لعامل التشغيل، وبالتالي يتم فرض ما يلي:
tag:foo | level:ERROR & package:mine
يتم تقييمه على النحو التالي:
tag:foo | (level:ERROR & package:mine)
العوامل المنطقية الضمنية
إذا لم يتم تطبيق عوامل التشغيل المنطقية، فسيتم تحديد لغة الاستعلام تلقائيًا
تقيّم عدة عبارات فلتر key-value
لم يتم إبطالها باستخدام المفتاح نفسه المستخدَم في
OR
وكل الخدمات الأخرى التي تتضمّن AND
.
مثلاً:
tag:foo tag:bar package:myapp
يتم تقييمه على النحو التالي:
(tag:foo | tag:bar) & package:myapp
ولكن:
tag:foo -tag:bar package:myapp
يتم تقييمه على النحو التالي:
tag:foo & -tag:bar & package:myapp
إذا تم فصل عبارات استعلام متعددة بمسافة بيضاء بدون عامل منطقي،
ويتم التعامل معها كـ AND ذات أولوية منخفضة. على سبيل المثال، يستخدم المصطلح
foo bar tag:bar1 | tag:bar2
تساوي
'foo bar' & (tag: bar1 | tag: bar2)
طلبات بحث خاصة
package:mine
يتيح مفتاح الحزمة استخدام قيمة خاصة mine
. تتطابق هذه القيمة الخاصة مع أي
لأسماء الحزم الموجودة في المشروع المفتوح.
level
يتطابق استعلام level
مع مستوى السجل لرسالة Logcat، حيث تمثل
مستوى إدخال السجل أكبر من مستوى طلب البحث أو مساويًا له.
على سبيل المثال، يتطابق level:INFO
مع أي إدخال في السجلّ بمستوى السجلّ INFO
،
WARN
أو ERROR
أو ASSERT
هذا المستوى ليس حسّاسًا لحالة الأحرف. المستويات الصالحة هي:
"VERBOSE
" و"DEBUG
" و"INFO
" و"WARN
" و"ERROR
" و"ASSERT
"
age
يتطابق طلب البحث age
مع الإدخالات بناءً على طوابعها الزمنية، ويتم تنسيقه على النحو التالي:
age:<number><unit>
، حيث
<number>
هو عدد صحيح.<unit>
هي إحدى القيم منs
وm
وh
وd
(الثواني والدقائق والساعات والأيام).
في القائمة التالية، يتطابق طلب البحث age
مع رسائل السجلّ التي تحتوي على
الطابع الزمني في النطاق الموصوف بالقيمة. على سبيل المثال: طلب البحث age:5m
تتطابق مع الإدخالات ذات الطابع الزمني قبل أكثر من 5 دقائق.
age:30s
age:5m
age:3h
age:1d
تجدر الإشارة إلى أنه تتم مقارنة الطابع الزمني بالطابع الزمني للمضيف، وليس مقابل الطابع الزمني جهاز متصل. إذا لم يتم ضبط وقت الجهاز بشكل صحيح، فسيظهر طلب البحث هذا قد لا يعمل كما هو متوقع.
مفتاح is
يمكنك استخدام مفتاح is
على النحو التالي:
- يطابق
is:crash
إدخالات السجلّ التي تمثّل عطلاً في التطبيق. (إما أصلية أو بلغة Java). - يطابق
is:stacktrace
إدخالات السجلّ التي تمثّل أي عنصر يشبه تتبُّع تسلسل استدعاء الدوال البرمجية في Java، بغض النظر عن مستوى السجلّ.
مفتاح name
يتيح لك مفتاح name
تقديم اسم فريد لفلتر محفوظ بحيث
يمكن التعرف عليها بسهولة في القائمة المنسدلة لسجل التصفية. وعلى الرغم من أنك لا تحصل على
خطأ في تحديد name
أكثر من مرة، فإن بيئة التطوير المتكاملة (IDE) تستخدم آخر
المحددة لـ name
في طلب البحث.
عرض سجلّ طلبات البحث
يمكنك الاطّلاع على سجلّ طلبات البحث بالنقر على
عرض السجلّ
بجوار حقل الاستعلام. لوضع استعلام في المفضلة بحيث يظل في الجزء العلوي من
في كل مشاريع الاستوديو الخاصة بك،
ثم انقر على النجمة الظاهرة بجانبها يمكنك أيضًا
استخدِم مفتاح name:
لتسهيل التعرّف على طلبات البحث المفضّلة. لمزيد من المعلومات،
للحصول على معلومات، يُرجى الاطّلاع على طلبات البحث الخاصة.
الشكل 4. يمكنك إضافة طلب بحث إلى القائمة المفضّلة من خلال النقر على النجمة بجانبه.
تتبُّع السجلّات لكلّ أعطال التطبيق وإعادة تشغيله
عندما تلاحظ Logcat إيقاف معالجة تطبيقك وإعادة تشغيلها، يتم عرض
رسالة في الناتج، مثل PROCESS ENDED
وPROCESS STARTED
.
تؤدي إعادة تشغيل Logcat إلى الاحتفاظ بإعدادات الجلسة، مثل تقسيمات علامات التبويب
وعوامل التصفية وخيارات العرض، لكي تتمكّن من مواصلة الجلسة بسهولة.
الشكل 5. عند إعادة تشغيل عملية التطبيق، تطبع Logcat رسالة تفيد بأن العملية ثم بدأت.