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ı bilgiler: API'ye gönderilen tam istekler ve alınan yanıtlar.
  • Kısa özetler: Etkileşimlere dair genel bir bakış.

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

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

Günlüğe kaydetme, bir GoogleAdsClient örneği başlatıldığında otomatik olarak yapılandırılır. Bu 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üğünü uygulamanızın günlük kurulumuyla entegre etmeniz gerekir. Özellikle, addHandler yöntemiyle kitaplığın kendi günlükçü örneğine bir günlük işleyici eklemeniz gerekir. Bu işleyici, kitaplığın günlük mesajlarının nereye yönlendirileceğini belirler (ör. konsola, dosyaya vb.). Bunu yapmak için önce kitaplığın günlükçü örneğini aşağıdaki gibi alın:

import logging

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

Kitaplığın kaydedicisini aldıktan sonra, günlük mesajlarının nereye çıkacağını belirtebilirsiniz.

  • Günlükleri Konsola Gönderme: Günlük mesajlarını konsolunuzda görüntülemek için temel bir işleyici eklersiniz. Günlükleri standart çıkışa (stdout) yönlendirmek için aşağıdaki adımları uygulayın:

    Aşağıda, kaydediciye stdout'ya yazdırmasını söyleyecek temel bir işleyiciyi nasıl ayarlayacağınız 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 ediyorsanız:

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

    logger.setLevel(logging.DEBUG)
    

Günlük seviyeleri

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

Seviye Başarılı İstek Başarısız İstek
DEBUG İsteğin ve yanıtın tamamını JSON olarak içeren ayrıntılı bir günlük. İsteğin ve istisna nesnelerinin JSON olarak bulunduğu ayrıntılı bir günlük.
INFO Belirli istek ve yanıt alanlarını içeren kısa bir özet. İsteğin ve istisna nesnelerinin JSON olarak bulunduğu ayrıntılı bir 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ılan düzeyden daha az ciddi olan günlük mesajlarını yoksaydığından WARNING olarak ayarladığınızda yalnızca başarısız isteklerle ilgili kısa mesajları görürsünüz. DEBUG olarak ayarladığınızda ise yukarıdaki tabloda olası tüm günlük türlerini görürsünüz.

Dosyaya günlük kaydetme

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 "aktarılabilir"). 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 (üzerine yazarak) için:

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

Bir dosyaya standart çıkış eklemek için:

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

Hem standart çıktıyı hem de standart hatayı (hatalar/uyarılar için) aynı dosyaya kaydetmek için:

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

(Veya Bash 4+ gibi bazı modern kabuklarda):

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

Günlük kaydı araya girenleri

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