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 genel 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.dictConfigiş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, günlükçüye
stdoutkonumuna yazdırmasını söyleyen 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
DEBUGolarak 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 nesnelerinin JSON olarak yer aldığı ayrıntılı bir günlük. | İsteğin ve istisna nesnelerinin JSON olarak yer aldığı 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 yer aldığı 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 "pipe" edilebilir). Bu, Python kitaplığının kendisinin değil, işletim sisteminizin kabuğunun bir özelliğidir. Bunun için:
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 çıkışı 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 önleyici oluşturarak kendi özel günlük kaydınızı ayarlayabilirsiniz. Daha fazla bilgi ve özel günlük kaydı araya girme işlevi örneği için Günlük kaydı kılavuzuna bakın.