Journalisation

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

La bibliothèque utilise le framework de journalisation intégré de Python et enregistre les journaux dans stderr par défaut. Le cas échéant, l'objet logging défini dans votre configuration est transmis directement à logging.config.dictConfig en tant que dict.

Vous pouvez également configurer la journalisation de manière programmatique en définissant une configuration de journalisation avant d'initialiser le client. Vous pouvez récupérer l'instance du journal du 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 le journal du client est configuré lors de l'initialisation du client. Toute modification ultérieure de la configuration de journalisation sera ignorée. Pour remplacer de manière programmatique la configuration de journalisation dans le fichier YAML, veillez à appeler les lignes ci-dessus avant l'initialisation du client.

Niveaux de journalisation

Le client génère des journaux à plusieurs niveaux. Vous pouvez configurer votre configuration pour afficher tout ou partie des éléments suivants:

Niveau Demande réussie Échec de la demande
DEBUG Journal détaillé avec des objets de requête et de réponse complets au format JSON. 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. 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 journalisation moins graves que le niveau configuré, la valeur WARNING signifie que vous ne verrez que des messages concis liés aux requêtes ayant échoué. En revanche, la valeur DEBUG signifie que vous verrez tous les types de journaux possibles dans le tableau ci-dessus.

Journalisation dans un fichier

Vous pouvez facilement rediriger les messages de journal vers un fichier, par exemple lorsque vous exécutez l'exemple get_campaigns :

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

Intercepteurs de journalisation

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