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:
- Belirttiğiniz günlük ayarlarını yapılandırmasından okur.
- Bu ayarları etkinleştirmek için Python'ın yerleşik
logging.config.dictConfig
işlevine iletin.
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.