Logging

La libreria può essere configurata per registrare le interazioni con l'API Google Ads in vari modi. Puoi registrare richieste e risposte dettagliate, nonché messaggi di riepilogo più concisi. Queste impostazioni sono gestite dalla configurazione della libreria client. Di seguito sono riportati i dettagli sui diversi tipi di opzioni di configurazione disponibili.

Per impostazione predefinita, la libreria utilizza il framework e i log di logging integrati di Python su stderr. Se incluso, l'oggetto logging definito nella configurazione viene passato direttamente a logging.config.dictConfig come dict.

Puoi anche configurare il logging in modo programmatico impostando una configurazione di logging prima di inizializzare il client. Puoi recuperare l'istanza del log client e configurarla con l'esempio seguente:

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

Tieni presente che il logger client viene configurato al momento dell'inizializzazione del client. Eventuali modifiche successive alla configurazione del logging verranno ignorate. Per eseguire l'override a livello di programmazione della configurazione di logging nel file YAML, assicurati di richiamare le righe precedenti prima dell'inizializzazione del client.

Livelli di log

Il client genera i log a diversi livelli e puoi impostare la configurazione per visualizzare alcuni o tutti i seguenti valori:

Livello Richiesta riuscita Richiesta non riuscita
DEBUG Un log dettagliato con oggetti di richiesta e risposta completi in formato JSON. Un log dettagliato con oggetti di richiesta ed eccezione completi in formato JSON.
INFO Un riepilogo conciso con campi specifici di richiesta e risposta. Un log dettagliato con oggetti di richiesta ed eccezione completi in formato JSON.
WARNING Nessuno Un riepilogo conciso con informazioni specifiche sulla richiesta, lo stato dell'eccezione e il messaggio.

Poiché il framework di logging Python ignora i messaggi di log meno gravi rispetto al livello configurato, l'impostazione su WARNING indica che verranno visualizzati solo messaggi concisi relativi alle richieste non riuscite, mentre l'impostazione su DEBUG comporta la visualizzazione di tutti i tipi di log possibili nella tabella precedente.

Logging nel file

Puoi facilmente eseguire il pipe dei messaggi di log in un file; ad esempio, quando esegui l'esempio get_campaigns:

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

Intercettori di Logging

La libreria client Python utilizza intercettori gRPC per accedere ai dettagli di richieste e risposte e registrarli. Puoi configurare il logging personalizzato creando un intercettore gRPC con logica personalizzata. Per ulteriori dettagli e per un esempio di intercettatore di logging personalizzato, consulta la guida a Logging.