הספרייה מספקת רישום מגוון של אינטראקציות עם Google Ads API. אתם יכולים לצלם:
- מידע מפורט: בקשות מלאות שנשלחו ל-API ותשובות שהתקבלו.
- סיכומים תמציתיים: סקירה כללית של האינטראקציות.
יש שתי דרכים לשנות את הגדרות הרישום ביומן:
- הגדרת ספריית הלקוח: משתמשים באפשרויות ההגדרה הספציפיות של הספרייה.
- באמצעות תוכנה עם Python: אפשר להשתמש במסגרת הרישום ביומן המובנית של Python כדי לקבל שליטה ישירה יותר.
הרישום ביומן מוגדר אוטומטית כשמפעילים מופע של GoogleAdsClient. שלב האתחול הזה מתרחש, למשל, כשמשתמשים בשיטה load_from_storage. בשלב הזה, הספרייה:
- קוראים את הגדרות הרישום שצוינו מתוך ההגדרה שלו.
- מעבירים את ההגדרות האלה לפונקציה המובנית
logging.config.dictConfigשל Python כדי להפעיל אותן.
כשמשתמשים בספרייה הזו כחבילה מותקנת, צריך לשלב את הרישום שלה ביומן עם הגדרת הרישום ביומן של האפליקציה. באופן ספציפי, צריך להוסיף handler לרישום ביומן למופע של כלי רישום ביומן של הספרייה באמצעות השיטה addHandler. ה-handler הזה יקבע לאן יופנו הודעות היומן של הספרייה (למשל, למסוף, לקובץ וכו'). כדי לעשות זאת, קודם מאחזרים את מופע היומן של הספרייה, כמו שמוצג כאן:
import logging
logger = logging.getLogger('google.ads.googleads.client')
אחרי שמקבלים את ה-logger של הספרייה, אפשר להגדיר לו לאן להוציא את הודעות היומן.
שליחת יומנים למסוף: כדי להציג הודעות יומן במסוף, מוסיפים מטפל בסיסי. כך מעבירים יומנים לפלט רגיל (
stdout):כך מגדירים handler בסיסי שיורה ל-logger להדפיס ל-
stdout:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stdout))אם אתם מעדיפים לשלוח יומנים לשגיאה סטנדרטית (
stderr), שמשמשת לעיתים קרובות להודעות שגיאה ולאזהרות:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stderr))הגדרה של הגדרות רישום אחרות באופן פרוגרמטי: אחרי שיש לכם את אובייקט כלי לרישום ביומן, אתם יכולים גם לשנות באופן פרוגרמטי הגדרות רישום אחרות באמצעות מודול logging המובנה של Python. לדוגמה, כדי לשנות את רמת הרישום ל-
DEBUG(שתוצג הודעות מפורטות יותר):logger.setLevel(logging.DEBUG)
רמות יומן
הלקוח יוצר יומנים בכמה רמות שונות, ואפשר להגדיר את ההגדרה כדי לראות חלק מהנתונים הבאים או את כולם:
| רמה | בקשה שאושרה | הבקשה נכשלה |
|---|---|---|
DEBUG |
יומן מפורט עם אובייקטים מלאים של בקשות ותגובות בפורמט JSON. | יומן מפורט עם אובייקטים מלאים של בקשות וחריגים בפורמט JSON. |
INFO |
סיכום תמציתי עם שדות ספציפיים של בקשות ותשובות. | יומן מפורט עם אובייקטים מלאים של בקשות וחריגים בפורמט JSON. |
WARNING |
ללא | סיכום תמציתי עם פרטים ספציפיים על הבקשה, מצב החריגה וההודעה. |
מכיוון שמסגרת הרישום של Python מתעלמת מהודעות יומן שהחומרה שלהן נמוכה מהרמה שהוגדרה, הגדרה של WARNING תגרום לכך שיוצגו רק הודעות תמציתיות שקשורות לבקשות שנכשלו, אבל הגדרה של DEBUG תגרום לכך שיוצגו כל סוגי היומנים האפשריים בטבלה שלמעלה.
רישום ביומן לקובץ
כשמריצים סקריפטים לדוגמה כמו get_campaigns.py משורת הפקודה, אפשר להפנות מחדש (או 'לשרשר') את כל הודעות היומן שמודפסות בדרך כלל במסוף לקובץ. זו תכונה של מעטפת מערכת ההפעלה, ולא של ספריית Python עצמה. לשם כך:
כדי לשמור פלט רגיל (רוב היומנים) בקובץ (תוך החלפת הקובץ):
python get_campaigns.py -c $CLIENT_ID > campaign_logs.txt
כדי לצרף פלט רגיל לקובץ:
python get_campaigns.py -c $CLIENT_ID >> campaign_logs.txt
כדי לשמור את הפלט הרגיל ואת השגיאה הרגילה (לשגיאות ולאזהרות) באותו קובץ:
python get_campaigns.py -c $CLIENT_ID > all_logs.txt 2>&1
(או, במעטפת מודרנית כמו Bash 4+):
python get_campaigns.py -c $CLIENT_ID &> all_logs.txt
יירוט של רישום ביומן
ספריית הלקוח של Python משתמשת במיירטים של gRPC כדי לגשת לפרטים של בקשות ותגובות ולרשום אותם ביומן. אתם יכולים להגדיר רישום משלכם ביומן על ידי יצירת gRPC interceptor עם לוגיקה מותאמת אישית. פרטים נוספים ודוגמה ל-interceptor מותאם אישית לרישום ביומן זמינים במדריך לרישום ביומן.