הספרייה מספקת רישום מגוון של אינטראקציות עם 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 של הספרייה, אפשר להגדיר לו לאן להוציא את הודעות היומן.
שליחת יומנים למסוף: כדי להציג הודעות יומן במסוף, מוסיפים handler בסיסי. כך מעבירים יומנים לפלט רגיל (
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 של רישום ביומן בהתאמה אישית זמינים במדריך בנושא Logging.