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

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

  • Ayrıntılı bilgi: API'ye gönderilen tam istekler ve alınan yanıtlar.
  • Özet bilgiler: Etkileşimlere genel bakış.

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

  • İstemci Kitaplığı Yapılandırması: Kitaplığa özgü yapılandırma seçeneklerini kullanın.
  • Python ile programatik olarak: Daha doğrudan kontrol için Python'ın yerleşik günlük kaydı çerçevesini kullanın.

Bir GoogleAdsClient örneği başlatılırken günlük kaydı otomatik olarak yapılandırılır. Bu ilk başlatma adımı, örneğin load_from_storage yöntemini kullandığınızda gerçekleşir. Bu noktada kitaplık:

Bu kitaplık yüklü bir paket olarak kullanıldığında günlük kaydını uygulamanızın günlük kaydı ayarıyla entegre etmeniz gerekir. Daha açık belirtmek gerekirse, addHandler yöntemini kullanarak kitaplığın kendi günlükleyici örneğine bir günlük kaydı işleyici eklemeniz gerekir. Bu işleyici, kitaplığın günlük mesajlarının nereye yönlendirileceğini (ör. konsola, bir dosyaya vb.) belirler. Bunu yapmak için önce kitaplığın günlük kaydı örneğini burada gösterildiği gibi alın:

import logging

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

Kitaplığın günlük kaydını aldıktan sonra günlük mesajlarının nereye kaydedileceğini belirtebilirsiniz.

  • Günlükleri konsola gönderme: Günlük mesajlarını konsolunuzda görüntülemek için temel bir işleyici eklemeniz gerekir. Günlükleri standart çıkışa (stdout) yönlendirmek için:

    Günlük kaydırıcıya stdout dosyasına yazdırmasını söyleyecek temel bir işleyiciyi nasıl ayarlayacağınız aşağıda açıklanmıştır:

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stdout))
    

    Günlükleri genellikle hata mesajları ve uyarılar için kullanılan standart hataya (stderr) göndermeyi tercih ederseniz:

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stderr))
    
  • Diğer Günlük Kaydetme Ayarlarını Programatik Olarak Yapılandırma: Günlük kaydedici nesnesi oluşturulduktan sonra, Python'un yerleşik logging modülünü kullanarak diğer günlük kaydı ayarlarını programatik olarak da değiştirebilirsiniz. Örneğin, günlük kaydı düzeyini DEBUG olarak değiştirmek için (daha ayrıntılı mesajlar gösterilir):

    logger.setLevel(logging.DEBUG)
    

Günlük seviyeleri

Müşteri, birkaç farklı düzeyde günlük oluşturur ve yapılandırmanızı aşağıdakilerin bir kısmını veya tamamını görecek şekilde ayarlayabilirsiniz:

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

Python günlük kaydı çerçevesi, yapılandırılmış düzeyden daha az önemli olan günlük mesajlarını yoksayar. Bu nedenle, WARNING olarak ayarlandığında yalnızca başarısız isteklerle ilgili kısa mesajlar görürsünüz. DEBUG olarak ayarlandığında ise yukarıdaki tabloda gösterilen tüm günlük türlerini görürsünüz.

Dosyaya günlük kaydı

Komut satırınızdan get_campaigns.py gibi örnek komut dosyalarını çalıştırdığınızda, genellikle konsola yazdırılan tüm günlük mesajları bir dosyaya yönlendirilebilir (veya "yönlendirilebilir"). Bu, Python kitaplığının değil, işletim sisteminizin kabuğunun bir özelliğidir. Bunun için uygulamanız gereken adımlar:

Standart çıkışı (çoğu günlük) bir dosyaya kaydetmek için (dosyanın üzerine yazarak):

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

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

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

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

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

(Veya Bash 4 ve sonraki sürümler gibi bazı modern kabuklarda):

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

Günlük kaydeden müdahaleciler

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