Logging را فعال کنید

این کتابخانه گزارش همه کاره را برای تعاملات API Google Ads فراهم می کند. می توانید عکس بگیرید:

  • اطلاعات دقیق: درخواست های کامل به API ارسال شده و پاسخ های دریافت شده.
  • خلاصه های مختصر: مروری بر سطح بالا از تعاملات.

و شما می توانید این تنظیمات ورود به سیستم را به دو روش کنترل کنید:

  • پیکربندی کتابخانه مشتری: از گزینه های پیکربندی خاص کتابخانه استفاده کنید.
  • برنامه نویسی با پایتون: برای کنترل مستقیم بیشتر از چارچوب لاگ داخلی پایتون استفاده کنید.

هنگامی که یک نمونه GoogleAdsClient مقداردهی اولیه می شود، گزارش به طور خودکار پیکربندی می شود. برای مثال، زمانی که از متد load_from_storage استفاده می کنید، این مرحله مقداردهی اولیه رخ می دهد. در این مرحله، کتابخانه:

  • تنظیمات گزارش مشخص شده خود را از پیکربندی آن بخوانید.
  • این تنظیمات را به logging.config.dictConfig داخلی پایتون منتقل کنید تا فعال شوند.

هنگامی که این کتابخانه به عنوان یک بسته نصب شده استفاده می شود، باید گزارش آن را با تنظیمات گزارش برنامه خود ادغام کنید. به طور خاص، شما باید با متد addHandler یک کنترل کننده گزارش را به نمونه لاگر خود کتابخانه اضافه کنید. این کنترل کننده تعیین می کند که پیام های گزارش کتابخانه به کجا هدایت شوند (مثلاً به کنسول، یک فایل و غیره). برای انجام این کار، ابتدا نمونه لاگر کتابخانه را همانطور که در اینجا نشان داده شده است بازیابی کنید:

import logging

logger = logging.getLogger('google.ads.googleads.client')

پس از بازیابی لاگر کتابخانه، می توانید به آن بگویید که کجا پیام های گزارش را خروجی کند.

  • ارسال گزارش‌ها به کنسول: برای نمایش پیام‌های گزارش روی کنسول خود، یک کنترل‌کننده اصلی اضافه می‌کنید. در اینجا نحوه هدایت لاگ ها به خروجی استاندارد ( stdout ) آمده است:

    و در اینجا نحوه تنظیم یک کنترل کننده اصلی است که به لاگر می گوید که در 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))
    
  • پیکربندی سایر تنظیمات گزارش‌گیری به‌صورت برنامه‌ای: هنگامی که شی لاگر را دارید، می‌توانید با استفاده از ماژول ورود به سیستم داخلی پایتون، تنظیمات دیگر گزارش‌گیری را نیز به صورت برنامه‌نویسی تغییر دهید. به عنوان مثال، برای تغییر سطح گزارش به DEBUG (که پیام های دقیق تری را نشان می دهد):

    logger.setLevel(logging.DEBUG)
    

سطوح ورود به سیستم

کلاینت گزارش‌ها را در چند سطح مختلف تولید می‌کند و می‌توانید پیکربندی خود را برای دیدن برخی یا همه موارد زیر تنظیم کنید:

سطح درخواست موفقیت آمیز درخواست ناموفق
DEBUG گزارش دقیق با اشیاء درخواست و پاسخ کامل به عنوان JSON. گزارش تفصیلی با درخواست کامل و اشیاء استثنا به عنوان JSON.
INFO خلاصه ای مختصر با فیلدهای درخواست و پاسخ خاص. گزارش تفصیلی با درخواست کامل و اشیاء استثنا به عنوان JSON.
WARNING هیچ کدام خلاصه ای مختصر با اطلاعات درخواستی خاص، وضعیت استثنا و پیام.

از آنجایی که چارچوب ورود به سیستم پایتون پیام‌های گزارشی را که شدیدتر از سطح پیکربندی شده هستند نادیده می‌گیرد، تنظیم روی WARNING به این معنی است که شما فقط پیام‌های مختصر مربوط به درخواست‌های ناموفق را خواهید دید، اما تنظیم روی DEBUG به این معنی است که همه انواع گزارش‌های ممکن را در جدول بالا مشاهده خواهید کرد.

ورود به فایل

هنگامی که اسکریپت‌های نمونه مانند get_campaigns.py را از خط فرمان خود اجرا می‌کنید، هر پیام گزارشی که معمولاً در کنسول چاپ می‌شود را می‌توان به یک فایل هدایت کرد (یا "لوله‌ای" کرد). این یکی از ویژگی های پوسته سیستم عامل شما است، نه خود کتابخانه پایتون. در اینجا به این صورت است:

برای ذخیره خروجی استاندارد (بیشتر گزارش‌ها) در یک فایل (بازنویسی آن):

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

رهگیرهای ورود به سیستم

کتابخانه مشتری پایتون از رهگیرهای gRPC برای دسترسی و ثبت جزئیات درخواست و پاسخ استفاده می کند. شما می توانید ثبت سفارشی خود را با ایجاد یک رهگیر gRPC با منطق سفارشی تنظیم کنید. برای جزئیات بیشتر و مثالی از یک رهگیر ثبت سفارشی، به راهنمای ورود به سیستم مراجعه کنید.