Logging

Die Bibliothek kann so konfiguriert werden, dass Interaktionen mit der Google Ads API auf unterschiedliche Weise protokolliert werden. Sie können detaillierte Anfragen und Antworten sowie präzisere zusammenfassende Nachrichten protokollieren. Diese Einstellungen werden von der Konfiguration der Clientbibliothek verwaltet. Nachfolgend finden Sie Details zu den verschiedenen verfügbaren Konfigurationsoptionen.

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

Sie können Logging auch programmatisch konfigurieren, indem Sie vor der Initialisierung des Clients eine Logging-Konfiguration festlegen. Sie können die Client-Logger-Instanz abrufen und anhand des folgenden Beispiels konfigurieren:

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

Beachten Sie, dass die Client-Protokollierung konfiguriert wird, wenn der Client initialisiert wird. Nachfolgende Änderungen an der Logging-Konfiguration werden ignoriert. Um die Logging-Konfiguration in der YAML-Datei programmatisch zu überschreiben, müssen Sie die obigen Zeilen aufrufen, bevor der Client initialisiert wird.

Protokollebenen

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

Stufe Anfrage erfolgreich Fehlgeschlagene Anfrage
DEBUG Ein detailliertes Log mit vollständigen Anfrage- und Antwortobjekten im JSON-Format. Ein detailliertes Log mit vollständiger Anfrage und Ausnahmeobjekten im JSON-Format.
INFO Eine kurze Zusammenfassung mit spezifischen Anfrage- und Antwortfeldern. Ein detailliertes Log mit vollständiger Anfrage und Ausnahmeobjekten im JSON-Format.
WARNING Ohne Eine kurze Zusammenfassung mit spezifischen Anfrageinformationen, dem Ausnahmestatus und der Meldung.

Da das Python-Logging-Framework Logmeldungen ignoriert, die weniger schwerwiegend als die konfigurierte Ebene sind, bedeutet die Einstellung WARNING, dass Sie nur prägnante Nachrichten im Zusammenhang mit fehlgeschlagenen Anfragen sehen. Wenn Sie DEBUG festlegen, werden jedoch alle möglichen Logtypen in der obigen Tabelle angezeigt.

Wird in Datei protokolliert

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

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

Logging-Abfangende

Die Python-Clientbibliothek verwendet gRPC-Abfangprogramme, um auf Anfrage- und Antwortdetails zuzugreifen und sie zu protokollieren. Sie können Ihr eigenes benutzerdefiniertes Logging einrichten, indem Sie einen gRPC-Abfangfunktion mit benutzerdefinierter Logik erstellen. Weitere Informationen und ein Beispiel eines benutzerdefinierten Logging-Abfangendes finden Sie im Logging-Leitfaden.