הספרייה מספקת רישום מגוון ביומן של אינטראקציות עם Google Ads API. אתם יכולים לצלם:
- מידע מפורט: בקשות מלאות שנשלחו ל-API ותגובות שהתקבלו.
- סיכומים תמציתיים: סקירות כלליות ברמה גבוהה של אינטראקציות עם ה-API.
אפשר לשלוט בהגדרות הרישום ביומן בשתי דרכים:
- הגדרת ספריית הלקוח: משתמשים באפשרויות ההגדרה הספציפיות של הספרייה בקובץ
google-ads.yamlאו במשתני הסביבה. - באופן פרוגרמטי באמצעות Python: משתמשים במסגרת המובנית
loggingשל Python כדי לשלוט ישירות.
הגדרה באמצעות google-ads.yaml
הרישום ביומן מוגדר באופן אוטומטי כשמכונה של GoogleAdsClient מאותחלת (לדוגמה, כשמפעילים את load_from_storage). בזמן האתחול, הספרייה:
- קורא את הגדרות הרישום ביומן שציינתם בהגדרות האישיות.
- מעבירה את ההגדרות האלה לפונקציה המובנית
logging.config.dictConfigשל Python כדי להפעיל אותן.
לדוגמה, אפשר להוסיף קטע logging לקובץ google-ads.yaml:
logging:
version: 1
disable_existing_loggers: false
formatters:
default_fmt:
format: '[%(asctime)s - %(levelname)s] %(message).5000s'
datefmt: '%Y-%m-%d %H:%M:%S'
handlers:
default_handler:
class: logging.StreamHandler
formatter: default_fmt
loggers:
'':
handlers: [default_handler]
level: INFO
הגדרה פרוגרמטית
כשמשתמשים בספרייה כחבילה מותקנת בלי קטע logging בקובץ התצורה, אפשר לשלב את הרישום ביומן עם הגדרת הרישום ביומן של האפליקציה באופן פרוגרמטי. מצרפים handler של רישום ביומן למופע של ה-logger של הספרייה (google.ads.googleads.client) באמצעות addHandler ומגדירים את רמת היעד של הרישום ביומן:
import logging
import sys
# Retrieve the library's logger instance.
logger = logging.getLogger("google.ads.googleads.client")
# Direct logs to standard output (stdout).
logger.addHandler(logging.StreamHandler(sys.stdout))
# Set the log level to DEBUG to view detailed messages.
logger.setLevel(logging.DEBUG)
אם אתם מעדיפים לשלוח יומנים לשגיאה סטנדרטית (stderr), שמשמשת לעיתים קרובות להודעות שגיאה ולאזהרות, מעבירים את sys.stderr אל logging.StreamHandler:
import logging
import sys
logger = logging.getLogger("google.ads.googleads.client")
logger.addHandler(logging.StreamHandler(sys.stderr))
logger.setLevel(logging.WARNING)
רמות הרישום ביומן
הלקוח יוצר יומנים בכמה רמות חומרה, ואפשר להגדיר את ה-logger כך שיראה חלק מהאפשרויות הבאות או את כולן:
| רמה | בקשה שהושלמה בהצלחה | בקשה שנכשלה |
|---|---|---|
DEBUG |
יומן מפורט עם אובייקטים מלאים של בקשות ותגובות בפורמט JSON. | יומן מפורט עם אובייקטים מלאים של בקשות וחריגות בפורמט JSON. |
INFO |
סיכום תמציתי עם שדות ספציפיים של בקשות ותשובות. | יומן מפורט עם אובייקטים מלאים של בקשות וחריגות בפורמט JSON. |
WARNING |
ללא | סיכום תמציתי עם פרטי הבקשה הספציפיים, מצב החריגה והודעת השגיאה. |
מסגרת הרישום ביומן של Python מתעלמת מהודעות ביומן שהן פחות חמורות מהרמה שהוגדרה. לכן, אם מגדירים את הרמה ל-WARNING, מוצגות רק הודעות תמציתיות לגבי בקשות שנכשלו. לעומת זאת, אם מגדירים את הרמה ל-DEBUG, מוצגים כל סוגי היומנים בטבלה.
רישום ביומן לקובץ
אתם יכולים לכתוב יומנים לקובץ באופן פרוגרמטי ב-Python או על ידי הפניית פלט משורת הפקודה.
רישום ביומן לקובץ ב-Python
כדי לכתוב יומנים ישירות לקובץ מ-Python, צריך לצרף logging.FileHandler לרושם היומנים של הלקוח:
import logging
logger = logging.getLogger("google.ads.googleads.client")
file_handler = logging.FileHandler("google_ads.log")
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
הפניה אוטומטית של פלט באמצעות המעטפת
כשמריצים סקריפטים לדוגמה כמו get_campaigns.py משורת הפקודה, אפשר להפנות את הפלט של יומן המסוף לקובץ באמצעות המעטפת של מערכת ההפעלה.
כדי לשמור פלט סטנדרטי בקובץ (תוך החלפת קובץ קיים):
python get_campaigns.py -c $CUSTOMER_ID > campaign_logs.txt
כדי להוסיף פלט סטנדרטי לקובץ קיים:
python get_campaigns.py -c $CUSTOMER_ID >> campaign_logs.txt
כדי לשמור גם את הפלט הסטנדרטי וגם את השגיאה הסטנדרטית (לשגיאות ולאזהרות) באותו קובץ:
python get_campaigns.py -c $CUSTOMER_ID > all_logs.txt 2>&1
או ב-Bash 4+:
python get_campaigns.py -c $CUSTOMER_ID &> all_logs.txt
מיירטי gRPC בהתאמה אישית
ספריית הלקוח של Python משתמשת במיירטים של gRPC כדי לגשת לפרטי הבקשות והתגובות ולתעד אותם ביומן. כדי להגדיר רישום ביומן בהתאמה אישית, אתם יכולים ליצור מיירט gRPC עם לוגיקה בהתאמה אישית. במדריך הרישום ביומן מופיעים פרטים נוספים ודוגמה למיירט רישום ביומן בהתאמה אישית.