La libreria fornisce una registrazione versatile per le interazioni con l'API Google Ads. Puoi acquisire:
- Informazioni dettagliate: richieste complete inviate all'API e risposte ricevute.
- Riepiloghi concisi: una panoramica generale delle interazioni.
Puoi controllare queste impostazioni di logging in due modi:
- Configurazione della libreria client: utilizza le opzioni di configurazione specifiche della libreria.
- A livello di programmazione con Python: utilizza il framework logging integrato di Python per un controllo più diretto.
La registrazione viene configurata automaticamente quando viene inizializzata un'istanza di GoogleAdsClient
. Questo passaggio di inizializzazione si verifica, ad esempio, quando utilizzi il
metodo load_from_storage
. A questo punto, la biblioteca:
- Leggi le impostazioni di logging specificate dalla relativa configurazione.
- Passa queste impostazioni alla funzione integrata
logging.config.dictConfig
di Python per attivarle.
Quando questa libreria viene utilizzata come pacchetto installato, devi integrare la registrazione con la configurazione della registrazione della tua applicazione. In particolare, devi aggiungere un
gestore di logging all'istanza del logger della libreria con il
metodo addHandler
. Questo gestore determinerà la destinazione dei messaggi di log della libreria
(ad es. la console, un file e così via). Per farlo, recupera prima l'istanza del logger della libreria come mostrato qui:
import logging
logger = logging.getLogger('google.ads.googleads.client')
Dopo aver recuperato il logger della libreria, puoi indicare dove inviare i messaggi di log.
Invio dei log alla console: per visualizzare i messaggi di log nella console, aggiungi un gestore di base. Ecco come indirizzare i log all'output standard (
stdout
):Ecco come impostare un gestore di base che indichi al logger di stampare su
stdout
:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stdout))
Se preferisci inviare i log all'errore standard (
stderr
), spesso utilizzato per messaggi di errore e avvisi:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stderr))
Configurazione programmatica di altre impostazioni di logging: una volta ottenuto l'oggetto logger, puoi anche modificare programmaticamente altre impostazioni di logging utilizzando il modulo logging integrato di Python. Ad esempio, per modificare il livello di logging in
DEBUG
(che mostrerà messaggi più dettagliati):logger.setLevel(logging.DEBUG)
Livelli di log
Il cliente genera log a diversi livelli e puoi impostare la configurazione per visualizzare alcuni o tutti i seguenti elementi:
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 di richiesta e risposta specifici. | 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 e il messaggio dell'eccezione. |
Poiché il framework di logging di Python ignora i messaggi di log meno gravi
del livello configurato, l'impostazione su WARNING
significa che vedrai solo
messaggi concisi relativi alle richieste non riuscite, mentre l'impostazione su DEBUG
significa
che vedrai tutti i possibili tipi di log nella tabella precedente.
Registrazione nel file
Quando esegui script di esempio come
get_campaigns.py
dalla riga di comando, tutti i messaggi di log generalmente stampati nella console possono
essere reindirizzati (o "indirizzati") a un file. Si tratta di una funzionalità della shell del sistema operativo, non della libreria Python stessa. Ecco come:
Per salvare l'output standard (la maggior parte dei log) in un file (sovrascrivendolo):
python get_campaigns.py -c $CLIENT_ID > campaign_logs.txt
Per aggiungere l'output standard a un file:
python get_campaigns.py -c $CLIENT_ID >> campaign_logs.txt
Per salvare sia l'output standard che l'errore standard (per errori/avvisi) nello stesso file:
python get_campaigns.py -c $CLIENT_ID > all_logs.txt 2>&1
(o su alcune shell moderne come Bash 4+):
python get_campaigns.py -c $CLIENT_ID &> all_logs.txt
Intercettori di logging
La libreria client Python utilizza gli intercettori gRPC per accedere e registrare i dettagli di richieste e risposte. Puoi configurare la tua registrazione personalizzata creando un intercettore gRPC con logica personalizzata. Per maggiori dettagli ed esempi di intercettore di logging personalizzato, consulta la guida al logging.