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é et les journaux de 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é 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 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 qu'elle affiche tout ou partie des éléments suivants:
Niveau | Demande acceptée | Échec de la demande |
---|---|---|
DEBUG |
Journal détaillé avec les objets de requête et de réponse complets au format JSON. | Un journal détaillé avec les objets requête et exception complets au format JSON. |
INFO |
Un résumé concis avec des champs de requête et de réponse spécifiques. | Un journal détaillé avec les objets requête et exception complets au format JSON. |
WARNING |
Aucun | Résumé concis avec des informations de requête spécifiques, l'état d'exception et le message. |
Étant donné que le framework de journalisation Python ignore les messages de journal dont le niveau de gravité est inférieur à celui du niveau configuré, si vous définissez le paramètre sur WARNING
, seuls les messages liés aux requêtes en échec seront affichés. En revanche, si vous définissez le champ sur DEBUG
, tous les types de journaux possibles apparaissent 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
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 en savoir plus et obtenir un exemple d'intercepteur de journalisation personnalisé.