La biblioteca proporciona un registro versátil para las interacciones de la API de Google Ads. Puedes capturar lo siguiente:
- Información detallada: Solicitudes completas enviadas a la API y respuestas recibidas
- Resúmenes concisos: Una descripción general de alto nivel de las interacciones
Puedes controlar esta configuración de registro de dos maneras:
- Configuración de la biblioteca cliente: Usa las opciones de configuración específicas de la biblioteca.
- De forma programática con Python: Usa el framework de registro integrado de Python para obtener un control más directo.
El registro se configura automáticamente cuando se inicializa una instancia de GoogleAdsClient. Este paso de inicialización se produce, por ejemplo, cuando usas el método load_from_storage. En este punto, la biblioteca hará lo siguiente:
- Leerá la configuración de registro especificada desde su configuración.
- Pasará esta configuración a integrado de Python
logging.config.dictConfigpara activarla.
Cuando se usa esta biblioteca como un paquete instalado, debes integrar su registro con la configuración de registro de tu aplicación. En particular, debes agregar un
controlador de registro a la instancia de registrador de la biblioteca con el
addHandler
método. Este controlador indicará dónde se dirigen los mensajes de registro de la biblioteca (p. ej., a la consola, a un archivo, etcétera). Para ello, primero recupera la instancia de registrador de la biblioteca como se muestra aquí:
import logging
logger = logging.getLogger('google.ads.googleads.client')
Después de recuperar el registrador de la biblioteca, puedes indicarle dónde generar mensajes de registro.
Envío de registros a la consola: Para mostrar mensajes de registro en la consola, agrega un controlador básico. A continuación, se muestra cómo dirigir los registros a la salida estándar (
stdout):A continuación, se muestra cómo configurar un controlador básico que le indicará al registrador que imprima en
stdout:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stdout))Si prefieres enviar registros al error estándar (
stderr), que suele usarse para mensajes de error y advertencias:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stderr))Configuración programática de otros parámetros de configuración de registro: Una vez que tengas el objeto registrador, también puedes cambiar de forma programática otros parámetros de configuración de registro con el módulo de registro integrado de Python. Por ejemplo, para cambiar el nivel de registro a
DEBUG(que mostrará mensajes más detallados):logger.setLevel(logging.DEBUG)
Niveles de registro
El cliente genera registros en varios niveles diferentes, y puedes configurar tu configuración para ver algunos o todos los siguientes:
| Nivel | Solicitud exitosa | Solicitud con errores |
|---|---|---|
DEBUG |
Un registro detallado con objetos de solicitud y respuesta completos como JSON | Un registro detallado con objetos de solicitud y excepción completos como JSON |
INFO |
Un resumen conciso con campos de solicitud y respuesta específicos | Un registro detallado con objetos de solicitud y excepción completos como JSON |
WARNING |
Ninguno | Un resumen conciso con información de solicitud específica, el estado de excepción y el mensaje |
Dado que el framework de registro de Python ignora los mensajes de registro que son menos graves que el nivel configurado, la configuración en WARNING significa que solo verás mensajes concisos relacionados con solicitudes con errores, pero la configuración en DEBUG significa que verás todos los tipos posibles de registros en la tabla anterior.
Registro en un archivo
Cuando ejecutas secuencias de comandos de ejemplo como
get_campaigns.py
desde la línea de comandos, cualquier mensaje de registro que se imprima normalmente en la consola se puede
redireccionar (o "canalizar") a un archivo. Esta es una función del shell de tu sistema operativo, no de la biblioteca de Python en sí. Sigue estos pasos:
Para guardar la salida estándar (la mayoría de los registros) en un archivo (sobrescribiéndolo), haz lo siguiente:
python get_campaigns.py -c $CLIENT_ID > campaign_logs.txt
Para agregar la salida estándar a un archivo, haz lo siguiente:
python get_campaigns.py -c $CLIENT_ID >> campaign_logs.txt
Para guardar la salida estándar y el error estándar (para errores o advertencias) en el mismo archivo, haz lo siguiente:
python get_campaigns.py -c $CLIENT_ID > all_logs.txt 2>&1
(O, en algunos shells modernos como Bash 4+):
python get_campaigns.py -c $CLIENT_ID &> all_logs.txt
Interceptores de registro
La biblioteca cliente de Python usa interceptores de gRPC para acceder a los detalles de la solicitud y la respuesta, y registrarlos. Puedes configurar tu propio registro personalizado creando un interceptor de gRPC con lógica personalizada. Consulta la guía de registro para obtener más detalles y un ejemplo de un interceptor de registro personalizado.