جستجو و فیلتر لاگ‌ها در داشبورد

در این آموزش
  1. بازهٔ زمانی
  2. جستجوی متن
  3. فیلتر سطح، سرویس و محیط
  4. نمودار تعداد لاگ در زمان
  5. حالت زنده
  6. باز کردن یک لاگ
  7. لاگ‌های قدیمی‌تر
  8. هر جستجو یک لینک است

صفحهٔ لاگ‌ها در https://app.logmug.ir جایی است که بیشتر وقتتان را آنجا می‌گذرانید. این برگه بخش‌های آن را به ترتیبی که معمولاً به کار می‌روند توضیح می‌دهد. رابط فارسی و راست‌چین است، تاریخ‌ها شمسی‌اند و متن خود لاگ‌ها چپ‌به‌راست نمایش داده می‌شود تا کد و stack trace خوانا بماند.

بازهٔ زمانی

بالای صفحه بازه را انتخاب می‌کنید: ۱۵ دقیقه، ۱ ساعت، ۶ ساعت، ۲۴ ساعت، ۷ روز یا ۳۰ روز گذشته. پیش‌فرض یک ساعت است. بازه‌ای طولانی‌تر از مدت نگه‌داری پلن شما داده‌ای بیشتر نشان نمی‌دهد، چون لاگ‌های قدیمی‌تر حذف شده‌اند.

جستجوی متن

در کادر جستجو هر عبارتی بنویسید؛ در متن لاگ و پیام خطا جستجو می‌شود و بزرگی و کوچکی حروف مهم نیست. چند نمونهٔ کاربردی:

  • بخشی از پیام خطا که کاربر گزارش کرده، مثل timeout یا deadlock.
  • نام یک کلاس استثنا، مثل NullReferenceException.
  • یک شناسه که در متن پیام آمده، مثل شمارهٔ سفارش.

اگر شناسه به‌صورت ویژگی جدا ثبت شده (مثلاً OrderId در قالب پیام)، فیلتر ویژگی که پایین‌تر آمده دقیق‌تر است. به همین دلیل نوشتن لاگ ساخت‌یافته جستجو را بسیار ساده‌تر می‌کند؛ مقالهٔ لاگ ساخت‌یافته را ببینید.

فیلتر سطح، سرویس و محیط

در ستون فیلترها سه گروه هست: سطح (trace تا fatal)، سرویس و محیط. کنار هر مقدار تعداد لاگ‌های آن در بازهٔ فعلی نوشته شده است، پس پیش از کلیک می‌بینید کدام سرویس بیشترین خطا را دارد. می‌توانید در هر گروه چند مقدار را با هم انتخاب کنید؛ مثلاً error و fatal با هم.

مقدار سرویس و محیط از تنظیمات برنامه می‌آید: service.name و deployment.environment.name در OpenTelemetry، ویژگی‌های Application و Environment در Serilog، یا فیلدهای service و env در JSON.

نمودار تعداد لاگ در زمان

بالای فهرست، نموداری ستونی تعداد لاگ‌ها را در طول بازه و به تفکیک سطح نشان می‌دهد. جهش ناگهانی ستون قرمز معمولاً همان لحظه‌ای است که دنبالش هستید. روی هر ستون کلیک کنید تا بازه به همان چند دقیقه محدود شود؛ بازهٔ انتخابی به‌صورت «بازهٔ دلخواه» نمایش داده می‌شود و با انتخاب دوبارهٔ یکی از بازه‌های ثابت برمی‌گردید.

حالت زنده

گزینهٔ «زنده» جستجوی فعلی را هر ۵ ثانیه تکرار می‌کند تا لاگ‌های تازه بیایند. هنگام استقرار نسخهٔ جدید یا وقتی منتظر تکرار یک خطا هستید مفید است. حالت زنده فقط با بازه‌های نسبی (مثل یک ساعت گذشته) کار می‌کند، نه با بازه‌ای که از نمودار انتخاب کرده‌اید.

باز کردن یک لاگ

روی هر خط کلیک کنید تا جزئیاتش باز شود:

  • متن کامل پیام و، اگر خطا باشد، stack trace کامل.
  • trace_id و span_id، محیط، میزبان و همهٔ ویژگی‌ها.
  • ویژگی‌های سرویس (resource) در بخشی جدا که با کلیک باز می‌شود.
  • کنار هر ویژگی دکمهٔ «فیلتر»: فقط لاگ‌هایی را نشان می‌دهد که همین مقدار را دارند. مثلاً روی user_id یک کاربر بزنید تا همهٔ کارهای او را ببینید.
  • دکمهٔ «کپی JSON» کل رکورد را برای گزارش باگ یا گفتگو با همکار کپی می‌کند.
  • دکمه‌های «همهٔ لاگ‌های این درخواست» و «همهٔ رخدادهای این خطا» که در دنبال کردن یک درخواست و گروه‌بندی خطاها توضیح داده شده‌اند.

فیلترهای فعال به شکل برچسب‌هایی بالای فهرست نمایش داده می‌شوند و با علامت × هر کدام برداشته می‌شود.

لاگ‌های قدیمی‌تر

فهرست از تازه‌ترین لاگ شروع می‌شود. در انتهای آن دکمهٔ «لاگ‌های قدیمی‌تر» صفحهٔ بعد را با همان فیلترها اضافه می‌کند.

هر جستجو یک لینک است

همهٔ فیلترها، شامل متن جستجو، بازه، سطح، سرویس و فیلترهای ویژگی، در نشانی صفحه ذخیره می‌شوند. پس:

  1. نشانی را کپی کنید و برای همکار بفرستید؛ او دقیقاً همان نما را می‌بیند (اگر عضو همان سازمان باشد).
  2. نشانی را در تیکت یا گزارش حادثه بگذارید تا بعداً قابل بازسازی باشد.
  3. دکمهٔ «بازگشت» مرورگر فیلتر قبلی را برمی‌گرداند.

توجه کنید که لینک جستجویی با بازهٔ نسبی (مثل «۱ ساعت گذشته») در زمان باز شدن دوباره محاسبه می‌شود؛ برای ثبت یک لحظهٔ مشخص، اول روی ستون نمودار کلیک کنید تا بازه ثابت شود و بعد لینک را بفرستید.

برای روش گام‌به‌گام رسیدن از گزارش کاربر به علت خطا، مقالهٔ عیب‌یابی خطا در پروداکشن با لاگ را بخوانید.

کلید پروژه‌تان را هنوز ندارید؟

در پلن رایگان یک پروژه بسازید؛ راهنمای اتصال با نشانی و کلید واقعی خودتان همان‌جا آماده است.

شروع رایگان