Journalisation

La bibliothèque peut être configurée de différentes manières pour enregistrer les interactions avec l'API Google Ads. 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 stderr par défaut. 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 de manière automatisée 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é à l'initialisation du client. Toute modification ultérieure de la configuration de journalisation sera ignorée. Afin de remplacer par programmation 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 à différents niveaux. Vous pouvez définir votre configuration pour afficher tout ou partie des éléments ci-dessous:

Niveau Requête 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 demande, l'état de l'exception et un message.

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

Consigner dans un fichier

Vous pouvez facilement diriger les messages de journal dans un fichier, par exemple lorsque vous exécutez 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. Pour en savoir plus et obtenir un exemple d'intercepteur de journalisation personnalisé, consultez le guide de journalisation.