مشاهده سیاهههای مربوط با Logcat

پنجره Logcat در اندروید استودیو به شما کمک می‌کند برنامه‌تان را با نمایش گزارش‌ها از دستگاهتان به‌طور هم‌زمان، اشکال‌زدایی کنید - برای مثال، پیام‌هایی که با کلاس Log به برنامه خود اضافه کرده‌اید، پیام‌هایی از سرویس‌هایی که در Android اجرا می‌شوند، یا پیام‌های سیستمی، مانند زمانی که جمع آوری زباله رخ می دهد. هنگامی که یک برنامه یک استثنا ایجاد می کند، Logcat پیامی را نشان می دهد که به دنبال آن ردیابی پشته مرتبط حاوی پیوندهایی به خط کد است.

با پنجره Logcat شروع کنید

برای مشاهده پیام های گزارش برنامه خود، موارد زیر را انجام دهید.

  1. در Android Studio، برنامه خود را روی یک دستگاه فیزیکی یا شبیه ساز بسازید و اجرا کنید .
  2. View > Tool Windows > Logcat را از نوار منو انتخاب کنید.

به طور پیش فرض، Logcat تا انتها پیمایش می کند. کلیک کردن در نمای Logcat یا پیمایش به بالا با استفاده از چرخ ماوس، این ویژگی را خاموش می کند. برای روشن کردن مجدد آن، روی Scroll to the End کلیک کنید به نماد پایان بروید از نوار ابزار همچنین می توانید از نوار ابزار برای پاک کردن، توقف موقت یا راه اندازی مجدد 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

نمای گزارش را پیکربندی کنید

نمای گزارش استاندارد تاریخ، فرآیند زمان و شناسه رشته، برچسب، نام بسته، اولویت و پیام مرتبط با آن را نمایش می‌دهد. به‌طور پیش‌فرض، خطوط پیام در نمای گزارش پیچیده نمی‌شوند، اما می‌توانید از Soft-Wrap استفاده کنیدنماد Soft-Rap گزینه ای از نوار ابزار Logcat.

با کلیک کردن روی پیکربندی گزینه‌های قالب‌بندی Logcat، می‌توانید به نمای فشرده ، که اطلاعات نمایش پیش‌فرض کمتری دارد، بروید. از نوار ابزار Logcat .

برای پیکربندی بیشتر اطلاعاتی که می‌خواهید نمایش داده شود، Modify Views را انتخاب کنید و انتخاب کنید که آیا می‌خواهید مُهر زمان، برچسب‌ها، شناسه‌های فرآیند یا نام بسته‌ها نمایش داده شود یا خیر.

رنگ بندی را تغییر دهید

برای تغییر طرح رنگ، به Android Studio > Settings > Editor > Color Scheme بروید. برای تغییر طرح رنگ نمای گزارش خود، Android Logcat را انتخاب کنید. برای تغییر طرح رنگ فیلتر خود، Logcat Filter را انتخاب کنید.

گزینه های پیکربندی اضافی

برای گزینه‌های پیکربندی بیشتر، به Android Studio > Settings > Tools > Logcat بروید. از اینجا، می‌توانید اندازه بافر چرخه Logcat، فیلتر پیش‌فرض پنجره‌های Logcat جدید، و اینکه آیا می‌خواهید فیلترهایی از تاریخچه برای تکمیل خودکار اضافه کنید یا خیر را انتخاب کنید.

از Logcat در چندین پنجره استفاده کنید

برگه ها به شما کمک می کنند به راحتی بین دستگاه ها یا پرس و جوهای مختلف جابجا شوید. با کلیک کردن بر New Tab می توانید چندین برگه Logcat ایجاد کنیدنماد برگه جدید . با کلیک راست روی یک برگه می توانید نام آن را تغییر دهید و مرتب کنید.

علاوه بر این، می‌توانید نمای را در یک برگه تقسیم کنید تا به شما کمک کند راحت‌تر بین دو مجموعه گزارش مقایسه کنید. برای ایجاد یک تقسیم، یا در نمای ورود کلیک راست کنید یا روی گزینه Split Panels از نوار ابزار کلیک کنید و Split Right یا Split Down را انتخاب کنید. برای بستن یک تقسیم، کلیک راست کرده و بستن را انتخاب کنید. هر تقسیم به شما امکان می دهد اتصال دستگاه خود را تنظیم کنید، گزینه ها را مشاهده کنید، و پرس و جو کنید.

چندین پنجره Logcat شکل 2. پنجره های Logcat را در Android Studio تقسیم کنید.

از نوار ابزار Logcat ، می‌توانید به انتهای گزارش‌ها بروید یا می‌توانید روی یک خط خاص کلیک کنید تا آن خط قابل مشاهده باشد.

در Android Studio، می‌توانید جستجوهای کلید-مقدار را مستقیماً از قسمت جستجوی اصلی ایجاد کنید. این سیستم پرس و جو دقت آنچه را که می خواهید پرس و جو کنید را فراهم می کند و همچنین لاگ ها را بر اساس کلید-مقدارها حذف می کند. در حالی که گزینه استفاده از عبارات منظم را دارید، لازم نیست برای پرس و جو به آنها تکیه کنید. برای مشاهده پیشنهادات، 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 با ورودی‌های گزارشی مطابقت دارد که نشان دهنده خرابی برنامه (چه بومی یا جاوا) هستند.
  • is:stacktrace با ورودی‌های گزارشی مطابقت دارد که هر چیزی را که شبیه یک stacktrace جاوا است، صرف نظر از سطح گزارش، نشان می‌دهد.

کلید name

کلید name به شما امکان می دهد یک نام منحصر به فرد برای یک فیلتر ذخیره شده ارائه دهید تا در فهرست کشویی تاریخچه فیلتر به راحتی قابل شناسایی باشد. اگرچه برای تعیین name بیش از یک بار خطایی دریافت نمی کنید، IDE فقط از آخرین مقدار مشخص شده برای name در پرس و جو استفاده می کند.

مشاهده تاریخچه پرس و جو

با کلیک روی نمایش تاریخچه می توانید سابقه درخواست خود را مشاهده کنیدنماد فیلتر در کنار فیلد پرس و جو برای اینکه درخواستی را مورد علاقه خود قرار دهید تا در تمام پروژه های استودیویی شما در بالای لیست باقی بماند، روی ستاره کنار آن کلیک کنید. همچنین می توانید name: کلید استفاده کنید تا پرس و جوهای دلخواه را آسان تر تشخیص دهید. برای اطلاعات بیشتر، پرس و جوهای ویژه را ببینید.

UI برای به دلخواه یک پرس و جو

شکل 4. یک پرس و جو را با کلیک کردن روی ستاره کنار آن مورد علاقه قرار دهید.

ردیابی گزارش‌ها در بین خرابی‌ها و راه‌اندازی مجدد برنامه

وقتی Logcat متوجه می شود که فرآیند برنامه شما متوقف شده و مجدداً راه اندازی شده است، پیامی مانند PROCESS ENDED و PROCESS STARTED را در خروجی نمایش می دهد. راه اندازی مجدد Logcat پیکربندی جلسه شما را حفظ می کند، مانند تقسیم برگه ها، فیلترها و گزینه های مشاهده، به طوری که بتوانید به راحتی جلسه خود را ادامه دهید.

پنجره Logcat برای خرابی برنامه

شکل 5. هنگامی که فرآیند برنامه شما مجدداً راه اندازی می شود، Logcat پیامی را چاپ می کند که فرآیند پایان یافته و سپس شروع شده است.