Habilitar Logging

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:

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.

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.