گزارش خطاها (نسل اول)

گزارش خودکار خطاها

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

// These WILL be reported to Error Reporting
throw new Error('I failed you'); // Will cause a cold start if not caught

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

شما می‌توانید خطاهای گزارش‌شده را در بخش گزارش خطا در کنسول گوگل کلود مشاهده کنید. همچنین می‌توانید خطاهای گزارش‌شده از یک تابع خاص را هنگام انتخاب آن از لیست توابع در کنسول گوگل کلود مشاهده کنید.

استثناهای کنترل نشده‌ای که توسط تابع شما تولید می‌شوند، در گزارش خطا ظاهر می‌شوند. توجه داشته باشید که برخی از انواع استثناهای کنترل نشده (مانند آنهایی که به صورت ناهمگام ارسال می‌شوند) باعث می‌شوند که هنگام فراخوانی تابع در آینده، یک شروع سرد رخ دهد. این امر مدت زمان اجرای تابع شما را افزایش می‌دهد.

گزارش دستی خطاها

وارد کردن وابستگی‌ها

برای گزارش خطا به گزارش خطا از یک تابع، تابع error را از SDK ثبت‌کننده توابع ابری وارد کنید:

// All available logging functions
const {
  log,
  info,
  debug,
  warn,
  error,
  write,
} = require("firebase-functions/logger");

ارسال به Cloud Logging

تابع error از SDK مربوط به ثبت‌کننده توابع ابری (Cloud Functions logger SDK)، خطاها را هم به Cloud Logging و هم به Error Reporting گزارش می‌دهد. برای اینکه محتوای بیشتری از خطا به صورت داده‌های ساختاریافته در نظر گرفته شود، یک شیء خطا را به عنوان آرگومان دوم ارسال کنید:

 } catch (err) {
  // Attach an error object as the second argument
  error("Unable to read quote from Firestore, sending default instead",
      err);