Günlük kaydını etkinleştir

Kitaplık, Google Ads API etkileşimleri için çok yönlü günlük kaydı sağlar. Şunları yakalayabilirsiniz:

  • Ayrıntılı bilgiler: API'ye gönderilen tam istekler ve alınan yanıtlar.
  • Kısa özetler: API etkileşimlerine dair genel bakışlar.

Bu günlük ayarlarını iki şekilde kontrol edebilirsiniz:

  • İstemci kitaplığı yapılandırması: Kitaplığın google-ads.yaml dosyanızdaki veya ortam değişkenlerindeki yapılandırma seçeneklerini kullanın.
  • Python ile programatik olarak: Doğrudan kontrol için Python'ın yerleşik logging çerçevesini kullanın.

google-ads.yaml aracılığıyla yapılandırma

Günlüğe kaydetme, bir GoogleAdsClient örneği başlatıldığında (örneğin, load_from_storage işlevini çağırdığınızda) otomatik olarak yapılandırılır. Başlatma sırasında kitaplık:

Örneğin, google-ads.yaml dosyanıza logging bölümü ekleyebilirsiniz:

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

Programatik olarak yapılandırma

Kitaplığı, yapılandırma dosyanızda logging bölümü olmadan yüklü bir paket olarak kullanırken günlüğünü uygulamanızın günlük kaydı kurulumuyla programatik olarak entegre edebilirsiniz. addHandler kullanarak kitaplığın logger örneğine (google.ads.googleads.client) bir günlük kaydı işleyicisi ekleyin ve hedef günlük kaydı düzeyini ayarlayın:

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)

Günlükleri genellikle hata mesajları ve uyarılar için kullanılan standart hataya (stderr) göndermeyi tercih ederseniz sys.stderr öğesini logging.StreamHandler öğesine iletin:

import logging
import sys

logger = logging.getLogger("google.ads.googleads.client")
logger.addHandler(logging.StreamHandler(sys.stderr))
logger.setLevel(logging.WARNING)

Günlük kaydı düzeyleri

İstemci, çeşitli önem düzeylerinde günlükler oluşturur ve aşağıdaki günlüklerin bir kısmını veya tamamını görmek için günlükçüyü yapılandırabilirsiniz:

Seviye Başarılı istek Başarısız istek
DEBUG İsteğin ve yanıtın tamamını JSON olarak içeren ayrıntılı bir günlük. Tam istek ve istisna nesnelerini JSON olarak içeren ayrıntılı bir günlük.
INFO Belirli istek ve yanıt alanlarını içeren kısa bir özet. Tam istek ve istisna nesnelerini JSON olarak içeren ayrıntılı bir günlük.
WARNING Yok Belirli istek bilgilerini, istisna durumunu ve hata mesajını içeren kısa bir özet.

Python günlük kaydı çerçevesi, yapılandırılan düzeyden daha az ciddi olan günlük iletilerini yoksaydığı için düzeyi WARNING olarak ayarladığınızda yalnızca başarısız isteklerle ilgili kısa iletiler gösterilir. Düzeyi DEBUG olarak ayarladığınızda ise tablodaki tüm günlük türleri gösterilir.

Dosyaya kaydetme

Günlükleri Python'da programatik olarak veya komut satırından çıkışı yönlendirerek bir dosyaya yazabilirsiniz.

Python'da dosyaya günlük kaydetme

Günlükleri doğrudan Python'daki bir dosyaya yazmak için istemci kaydediciye logging.FileHandler ekleyin:

import logging

logger = logging.getLogger("google.ads.googleads.client")
file_handler = logging.FileHandler("google_ads.log")
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)

Kabuğu kullanarak çıkışı yönlendirme

Komut satırından get_campaigns.py gibi örnek komut dosyalarını çalıştırdığınızda, işletim sisteminizin kabuğunu kullanarak konsol günlüğü çıkışını bir dosyaya yönlendirebilirsiniz.

Standart çıkışı bir dosyaya kaydetmek için (mevcut dosyaların üzerine yazarak):

python get_campaigns.py -c $CUSTOMER_ID > campaign_logs.txt

Standart çıkışı mevcut bir dosyaya eklemek için:

python get_campaigns.py -c $CUSTOMER_ID >> campaign_logs.txt

Hem standart çıkışı hem de standart hatayı (hatalar ve uyarılar için) aynı dosyaya kaydetmek için:

python get_campaigns.py -c $CUSTOMER_ID > all_logs.txt 2>&1

Alternatif olarak, Bash 4+ sürümünde:

python get_campaigns.py -c $CUSTOMER_ID &> all_logs.txt

Özel gRPC araya giricileri

Python istemci kitaplığı, istek ve yanıt ayrıntılarına erişmek ve bunları günlüğe kaydetmek için gRPC arayıcılarını kullanır. Özel mantık içeren bir gRPC araya giricisi oluşturarak kendi özel günlük kaydınızı ayarlayabilirsiniz. Daha fazla bilgi ve özel günlük kaydı yakalayıcısı örneği için Günlük kaydı kılavuzuna bakın.