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