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 kürzere Zusammenfassungsnachrichten erfassen. Diese Einstellungen werden über die Konfiguration der Clientbibliothek verwaltet. Im Folgenden finden Sie Details zu den verschiedenen Arten von Konfigurationsoptionen, die verfügbar sind.

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

Sie können die Protokollierung auch programmatisch konfigurieren, indem Sie eine Protokollierungskonfiguration vor der Initialisierung des Clients festlegen. Sie können die Client-Logger-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 bei der Initialisierung des Clients konfiguriert. Alle nachfolgenden Änderungen an der Protokollierungskonfiguration werden ignoriert. Wenn du die Protokollierungskonfiguration in der YAML-Datei programmatisch überschreiben möchtest, musst du die obigen Zeilen vor der Initialisierung des Clients aufrufen.

Protokollebenen

Der Client generiert Protokolle auf verschiedenen Ebenen. Sie können Ihre Konfiguration so festlegen, dass einige oder alle der folgenden Protokolle angezeigt werden:

Level Erfolgreiche Anfrage Fehlgeschlagene Anfrage
DEBUG Ein detailliertes Protokoll mit vollständigen Anfrage- und Antwortobjekten als JSON. Ein detailliertes Protokoll mit vollständigen Anfrage- und Ausnahmeobjekten als JSON.
INFO Eine kurze Zusammenfassung mit bestimmten Anfrage- und Antwortfeldern. Ein detailliertes Protokoll mit vollständigen Anfrage- und Ausnahmeobjekten als JSON.
WARNING Keine Eine kurze Zusammenfassung mit bestimmten Anfrageinformationen, dem Ausnahmestatus und der Ausnahmemeldung.

Da das Python-Logging-Framework Protokollmeldungen ignoriert, die weniger schwerwiegend als die konfigurierte Ebene sind, sehen Sie bei der Einstellung WARNING nur kurze Meldungen zu fehlgeschlagenen Anfragen. Bei der Einstellung DEBUG werden alle möglichen Protokolltypen in der Tabelle oben angezeigt.

Logging in eine Datei

Sie können Protokollmeldungen ganz einfach per Pipe 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-Interceptors, um auf Anfrage- und Antwortdetails zuzugreifen und diese zu protokollieren. Sie können Ihre eigene benutzerdefinierte Protokollierung einrichten, indem Sie einen gRPC-Interceptor mit benutzerdefinierter Logik erstellen. Weitere Informationen und ein Beispiel für einen benutzerdefinierten Logging-Interceptor finden Sie im Leitfaden zum Logging.