Journalisation

La bibliothèque peut être configurée pour enregistrer les interactions avec l'API Google Ads de différentes manières. Vous pouvez enregistrer les requêtes et les réponses détaillées, ainsi que des messages de résumé plus concis. Ces paramètres sont gérés par la configuration de la bibliothèque cliente. Vous trouverez ci-dessous des détails sur les différents types d'options de configuration disponibles.

Par défaut, la bibliothèque utilise le framework logging intégré de Python, et consigne les journaux dans stderr. S'il est inclus, l'objet logging défini dans votre configuration est transmis directement à logging.config.dictConfig en tant que dict.

Vous pouvez également configurer la journalisation par programmation en définissant une configuration de journalisation avant d'initialiser le client. Vous pouvez récupérer l'instance de l'enregistreur client et la configurer avec l'exemple suivant:

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

Notez que l'enregistreur client est configuré lorsque le client est initialisé. Toute modification ultérieure de la configuration de journalisation sera ignorée. Pour remplacer de manière automatisée la configuration de journalisation du fichier YAML, veillez à appeler les lignes ci-dessus avant l'initialisation du client.

Niveaux de journalisation

Le client génère des journaux à différents niveaux, et vous pouvez définir votre configuration pour afficher tout ou partie des éléments ci-dessous:

Niveau Demande réussie Échec de la demande
DEBUG Un journal détaillé avec des objets de requête et de réponse complets au format JSON. Un journal détaillé avec des objets de requête et d'exception complets au format JSON.
INFO Résumé concis avec des champs de requête et de réponse spécifiques. Un journal détaillé avec des objets de requête et d'exception complets au format JSON.
WARNING Aucun Résumé concis contenant des informations spécifiques sur la requête, l'état de l'exception et le message.

Étant donné que le framework de journalisation Python ignore les messages de journal moins graves que le niveau configuré, la définition de WARNING signifie que vous ne verrez que les messages concis liés aux requêtes ayant échoué, tandis que la définition de DEBUG signifie que vous verrez tous les types de journaux possibles dans le tableau ci-dessus.

Journalisation dans le fichier

Vous pouvez facilement rediriger les messages de journal vers un fichier. Par exemple, lors de l'exécution de l'exemple get_campaigns :

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

Interceptions de journalisation

La bibliothèque cliente Python utilise des intercepteurs gRPC pour accéder aux détails des requêtes et des réponses, et les consigner. Vous pouvez configurer votre propre journalisation personnalisée en créant un intercepteur gRPC avec une logique personnalisée. Consultez le guide de journalisation pour obtenir plus de détails et un exemple d'intercepteur de journalisation personnalisé.