فیلتر کردن لاگ‌ها و ایجاد معیارهای مبتنی بر لاگ

زمانی که داده‌های Crashlytics و (اختیاری) داده‌های جلسات Firebase شما به Cloud Logging منتقل شدند، می‌توانید گزارش‌های خود را فیلتر کرده و معیارهای مبتنی بر گزارش ایجاد کنید . هر دوی این موارد برای مشاهده، استفاده و تجزیه و تحلیل داده‌های خاص مفید هستند.

اگر هنوز این کار را نکرده‌اید، حتماً «چه کارهایی می‌توان با داده‌هایتان انجام داد؟» را برای فهرست جامع و مثال‌هایی برای کار با داده‌های ذخیره‌شده در Cloud Logging بررسی کنید.

فیلتر کردن لاگ‌ها با استفاده از کوئری‌ها

فیلتر کردن لاگ‌ها برای مشاهده داده‌های خاص و همچنین کاهش هزینه‌های ذخیره‌سازی داده‌ها و تجزیه و تحلیل بیشتر مفید است. شما لاگ‌ها را با استفاده از LQL (زبان پرس‌وجوی لاگ) فیلتر می‌کنید.

برای آشنایی با نحوه فیلتر کردن گزارش‌های خود با استفاده از کوئری‌ها، به نمونه‌هایی از کوئری‌ها با استفاده از Logs Explorer و Building log queries مراجعه کنید. جدول زیر فیلدهای موجود برای این کوئری‌ها را شرح می‌دهد.

فیلترهای نمونه

برای Crashlytics ، در اینجا چند نمونه فیلتر اولیه برای یک پرس و جو آورده شده است:

  • یافتن همه خرابی‌های مهلک برای یک نسخه خاص از برنامه:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.version.displayVersion="3.2.0"
  • شناسایی خرابی‌های رخ داده در یک مدل دستگاه خاص (مثلاً Pixel 6a):

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.device.model="Pixel 6a"
  • جستجوی یک OutOfMemoryError خاص در تمام رویدادهای مهلک:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
  • یافتن رویدادها برای یک شناسه مشکل خاص Crashlytics :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.id="ISSUE_ID"

طرحواره لاگ

هر ورودی لاگ دارای یک ساختار از پیش تعریف شده و فیلدهای قابل پرس و جو است (به LogEntry مراجعه کنید).

درباره طرحواره گزارش داده‌های خروجی ، از جمله داده‌های Crashlytics ، داده‌های جلسات Firebase و گزارش‌های دستگاه ، اطلاعات کسب کنید.

ایجاد معیارهای مبتنی بر لاگ

شما می‌توانید معیارهای مبتنی بر گزارش را مشاهده و ایجاد کنید و سپس از این معیارها در Cloud Monitoring برای ایجاد نمودارها، داشبوردهای سفارشی و هشدارهای سفارشی استفاده کنید.

  • از معیارهای سیستمی از پیش تعریف‌شده‌ای که به‌طور خودکار ثبت می‌شوند، مانند تعداد رویدادهای ثبت‌شده که در یک دوره زمانی خاص رخ داده‌اند، استفاده کنید.

  • برای پروژه خود معیارهای تعریف‌شده توسط کاربر ایجاد کنید. می‌توانید تعداد ورودی‌های لاگ که با یک پرس‌وجوی مشخص مطابقت دارند را بشمارید یا مقادیر خاص را با ورودی‌های لاگ منطبق پیگیری کنید. می‌توانید با استفاده از عبارات منظم فیلتر کنید. حتماً قیمت‌گذاری معیارهای تعریف‌شده توسط کاربر را بررسی کنید.

  • از Cloud Monitoring برای ثبت تعداد ورودی‌های لاگ حاوی پیام‌های خاص یا استخراج اطلاعات تأخیر گزارش‌شده در ورودی‌های لاگ استفاده کنید. سپس می‌توانید از این معیارها در نمودارها و هشدارهای سفارشی استفاده کنید.

مثال معیارهای مبتنی بر لاگ

در اینجا دو نمونه از معیارهای مبتنی بر گزارش تعریف شده توسط کاربر وجود دارد که می‌توانید از داده‌های جلسات Crashlytics و Firebase صادر شده خود ایجاد کنید:

  • استفاده از داده‌های Crashlytics :
    یک معیار به نام firebase/crashlytics_events با برچسب errorType ایجاد کنید و آن را به صورت زیر تعریف کنید:

    logName="projects/ PROJECT_ID /logs/firebasecrashlytics.googleapis.com%2Fevents"

  • استفاده از داده‌های جلسات Firebase:
    یک معیار به نام firebase/session_events با برچسب eventType ایجاد کنید و آن را به صورت زیر تعریف کنید:

    logName="projects/ PROJECT_ID /logs/firebasecrashlytics.googleapis.com%2Fsession_events"

بعدش چی؟