Logging

Die Bibliothek kann so konfiguriert werden, dass Interaktionen mit der Google Ads API auf verschiedene Arten protokolliert werden. Sie können detaillierte Anfragen und Antworten sowie prägnante Zusammenfassungsnachrichten protokollieren. Diese Einstellungen werden von der Konfiguration der Clientbibliothek verwaltet. Im Folgenden finden Sie Details zu den verschiedenen verfügbaren Konfigurationsoptionen.

Die Bibliothek verwendet das integrierte logging-Framework von Python und protokolliert standardmäßig stderr. Wenn das Flag angegeben ist, wird das in der Konfiguration definierte logging-Objekt direkt als dict an logging.config.dictConfig übergeben.

Sie können Logging auch programmatisch konfigurieren. Legen Sie dazu eine Logging-Konfiguration fest, bevor der Client initialisiert wird. Sie können die Clientlogger-Instanz abrufen und mit dem folgenden Beispiel konfigurieren:

import logging
logging.basicConfig(level=logging.INFO, format='[%(asctime)s - %(levelname)s] %(message).5000s')
logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO)

Der Client-Logger wird konfiguriert, wenn der Client initialisiert wird. Nachträgliche Änderungen an der Logging-Konfiguration werden ignoriert. Wenn Sie die Logging-Konfiguration in der YAML-Datei programmatisch überschreiben möchten, müssen Sie die obigen Zeilen aufrufen, bevor der Client initialisiert wird.

Logebenen

Der Client generiert Logs auf verschiedenen Ebenen und Sie können Ihre Konfiguration so einstellen, dass einige oder alle der folgenden Elemente angezeigt werden:

Ebene Erfolgreiche Anfrage Anfrage fehlgeschlagen
DEBUG Ein detailliertes Log mit vollständigen Anfrage- und Antwortobjekten im JSON-Format. Ein detailliertes Log mit vollständigen Anfrage- und Ausnahmeobjekten im JSON-Format.
INFO Eine kurze Zusammenfassung mit bestimmten Anfrage- und Antwortfeldern Ein detailliertes Log mit vollständigen Anfrage- und Ausnahmeobjekten im JSON-Format.
WARNING Keine Eine kurze Zusammenfassung mit spezifischen Informationen zum Antrag, dem Ausnahmestatus und der Nachricht.

Da das Python-Logging-Framework Lognachrichten ignoriert, die weniger schwerwiegend als die konfigurierte Ebene sind, bedeutet die Einstellung WARNING, dass Sie nur prägnante Meldungen zu fehlgeschlagenen Anfragen sehen. Wenn Sie jedoch auf DEBUG setzen, sehen Sie alle möglichen Logtypen in der obigen Tabelle.

In Datei protokollieren

Sie können Lognachrichten einfach an eine Datei weiterleiten, z. B. beim Ausführen des Beispiels get_campaigns:

python get_campaigns.py -c $CLIENT_ID 2> example.log

Logging-Interceptors

Die Python-Clientbibliothek verwendet gRPC-Abfanggeräte, um auf Anfrage- und Antwortdetails zuzugreifen und diese zu protokollieren. Sie können Ihr eigenes benutzerdefiniertes Logging einrichten. Dazu erstellen Sie einen gRPC-Interceptor mit benutzerdefinierter Logik. Weitere Informationen und ein Beispiel für einen benutzerdefinierten Logging-Interceptor finden Sie im Logging-Leitfaden.