כתוב והצג יומנים


רישום הוא כלי חשוב לניפוי באגים ולניטור קוד. Cloud Functions נותן לך את האפשרות להשתמש ב-logger SDK שלו, ב-Google Cloud Logging המותאם אישית או בתקן אובייקט console לפיתוח עבור האינטרנט.

כתיבת יומנים

בעוד ש-Cloud Functions loger SDK מומלץ ברוב המצבים, ייתכן שתבחר באחת מהאפשרויות האחרות מהסיבות הבאות:

  • יש לך בסיס קוד קיים ואתה מעדיף לא לבצע מחדש מ- console.log .
  • אתה מכיר את Cloud Logging (לשעבר רישום StackDriver) ומעדיף להשתמש בו לרישום מותאם אישית.

שימוש ב- Cloud Functions loger SDK

Cloud Functions loger SDK מספק ממשק סטנדרטי בעל API דומה להצהרות console.log ותומך ברמות יומן אחרות. אתה יכול להשתמש ב-SDK זה כדי לרשום אירועים עם נתונים מובנים , המאפשרים ניתוח וניטור קלים יותר.

ה-SDK של לוגר תומך בכניסות יומן כחלק מייבוא ​​תווים כלליים. לדוגמה:

  const functions = require("firebase-functions");

  functions.logger.log("Hello from info. Here's an object:", someObj);

לחלופין, אתה יכול להשתמש בייצוא בודדים. דוגמה זו מדגימה נתונים מובנים המצורפים ליומן כארגומנט האחרון:

const { warn } = require("firebase-functions/logger");


// Attach structured data to the log as the last argument.
warn("This is a 'WARNING' severity message with some metadata.", {
  key1: 'val1',
  key2: 'val2'
});
  • לפקודות logger.log() יש את רמת יומן INFO .
  • לפקודות logger.info() יש את רמת יומן INFO .
  • לפקודות logger.warn() יש את רמת יומן האזהרה .
  • לפקודות logger.error() יש את רמת היומן ERROR .
  • להודעות מערכת פנימיות יש רמת יומן DEBUG .

עם logger.write() , אתה יכול לכתוב ערכי יומן תוספת רמות חומרת יומן של CRITICAL , ALERT ו- EMERGENCY . ראה LogSeverity .

יומני רישום ענן מותאמים אישית

יומני Cloud Functions עם SDK לוגר מגובים על ידי Cloud Logging . אתה יכול להשתמש בספריית Cloud Logging עבור Node.js כדי לרשום אירועים עם נתונים מובנים, המאפשרים ניתוח וניטור קלים יותר.

const { Logging } = require('@google-cloud/logging');

// ...

// Instantiate the logging SDK. The project ID will
// be automatically inferred from the Cloud Functions environment.
const logging = new Logging();
const log = logging.log('my-custom-log-name');

// This metadata is attached to each log entry. This specifies a fake
// Cloud Function called 'Custom Metrics' in order to make your custom
// log entries appear in the Cloud Functions logs viewer.
const METADATA = {
  resource: {
    type: 'cloud_function',
    labels: {
      function_name: 'CustomMetrics',
      region: 'us-central1'
    }
  }
};

// ...

// Data to write to the log. This can be a JSON object with any properties
// of the event you want to record.
const data = {
  event: 'my-event',
  value: 'foo-bar-baz',

  // Optional 'message' property will show up in the Firebase
  // console and other human-readable logging surfaces
  message: 'my-event: foo-bar-baz'
};

// Write to the log. The log.write() call returns a Promise if you want to
// make sure that the log was written successfully.
const entry = log.entry(METADATA, data);
log.write(entry);

שימוש console.log

הפתרון המומלץ לרישום מפונקציה הוא להשתמש ב-logger SDK עבור הפלטפורמה שלך. עם Node.js, אתה יכול במקום זאת להשתמש בקריאות רישום סטנדרטיות של JavaScript כגון console.log ו- console.error , אך תחילה עליך לדרוש מודול מיוחד כדי לתקן את השיטות הסטנדרטיות כדי לעבוד כהלכה:

require("firebase-functions/logger/compat");

לאחר שדרשת את מודול תאימות לוגר, תוכל להשתמש בשיטות console.log() כרגיל בקוד שלך:

exports.helloError = functions.https.onRequest((request, response) => {
  console.log('I am a log entry!');
  response.send('Hello World...');
});
  • לפקודות console.log() יש את רמת יומן INFO .
  • לפקודות console.info() יש את רמת יומן INFO .
  • לפקודות console.warn() יש את רמת היומן ERROR .
  • לפקודות console.error() יש את רמת היומן ERROR .
  • להודעות מערכת פנימיות יש רמת יומן DEBUG .

צפייה ביומנים

יומנים עבור פונקציות ענן ניתנות לצפייה במסוף Google Cloud , ממשק המשתמש של Cloud Logging או באמצעות כלי שורת הפקודה firebase .

שימוש ב-Firebase CLI

כדי להציג יומנים עם כלי firebase , השתמש בפקודה functions:log :

firebase functions:log

כדי להציג יומנים עבור פונקציה ספציפית, ספק את שם הפונקציה כארגומנט:

firebase functions:log --only <FUNCTION_NAME>

למגוון המלא של אפשרויות צפייה ביומן, עיין בעזרה עבור functions:log :

firebase help functions:log

שימוש בקונסולת Google Cloud

אתה יכול להציג יומנים של פונקציות במסוף Google Cloud .

שימוש ב-Cloud Logging UI

אתה יכול להציג יומנים עבור פונקציות ענן בממשק המשתמש של Cloud Logging.

ניתוח יומנים

Cloud Logging מציע חבילה רבת עוצמה של כלים לניתוח יומנים שבהם אתה יכול להשתמש כדי לנטר את פונקציות הענן שלך.

תרשימים והתראות

לאחר שיצרת מדדים מבוססי יומנים כדי לנטר את הפונקציות שלך, תוכל ליצור תרשימים והתראות על סמך מדדים אלה. לדוגמה, תוכל ליצור תרשים כדי להמחיש את זמן האחזור לאורך זמן, או ליצור התראה כדי ליידע אותך אם שגיאה מסוימת מתרחשת לעתים קרובות מדי.

ראה יצירת תרשימים והתראות למידע מפורט על אופן השימוש במדדים מבוססי יומנים בתרשימים ובמדיניות התראות.