Ativar a geração de registros

A biblioteca oferece um registro versátil para interações com a API Google Ads. Você pode capturar:

  • Informações detalhadas:solicitações completas enviadas à API e respostas recebidas.
  • Resumos concisos:visões gerais de alto nível das interações da API.

Você pode controlar essas configurações de registro de duas maneiras:

  • Configuração da biblioteca de cliente:use as opções de configuração específicas da biblioteca no arquivo google-ads.yaml ou nas variáveis de ambiente.
  • De forma programática com Python:use o framework logging integrado do Python para controle direto.

Configurar usando google-ads.yaml

O registro é configurado automaticamente quando uma instância GoogleAdsClient é inicializada (por exemplo, quando você chama load_from_storage). Na inicialização, a biblioteca:

Por exemplo, adicione uma seção logging ao arquivo google-ads.yaml:

logging:
  version: 1
  disable_existing_loggers: false
  formatters:
    default_fmt:
      format: '[%(asctime)s - %(levelname)s] %(message).5000s'
      datefmt: '%Y-%m-%d %H:%M:%S'
  handlers:
    default_handler:
      class: logging.StreamHandler
      formatter: default_fmt
  loggers:
    '':
      handlers: [default_handler]
      level: INFO

Configurar de forma programática

Ao usar a biblioteca como um pacote instalado sem uma seção logging no arquivo de configuração, é possível integrar o registro dela ao programa de configuração de registro do aplicativo de maneira programática. Anexe um gerenciador de registros à instância do registrador da biblioteca (google.ads.googleads.client) usando addHandler e defina o nível de registro de destino:

import logging
import sys

# Retrieve the library's logger instance.
logger = logging.getLogger("google.ads.googleads.client")

# Direct logs to standard output (stdout).
logger.addHandler(logging.StreamHandler(sys.stdout))

# Set the log level to DEBUG to view detailed messages.
logger.setLevel(logging.DEBUG)

Se preferir enviar registros para o erro padrão (stderr), que geralmente é usado para mensagens de erro e avisos, transmita sys.stderr para logging.StreamHandler:

import logging
import sys

logger = logging.getLogger("google.ads.googleads.client")
logger.addHandler(logging.StreamHandler(sys.stderr))
logger.setLevel(logging.WARNING)

Níveis de registro

O cliente gera registros em vários níveis de gravidade, e você pode configurar o logger para ver alguns ou todos os seguintes itens:

Nível Solicitação concluída Falha na solicitação
DEBUG Um registro detalhado com objetos de solicitação e resposta completos como JSON. Um registro detalhado com objetos de solicitação e exceção completos como JSON.
INFO Um resumo conciso com campos específicos de solicitação e resposta. Um registro detalhado com objetos de solicitação e exceção completos como JSON.
WARNING Nenhum Um resumo conciso com informações específicas da solicitação, o estado da exceção e a mensagem de erro.

Como a estrutura de geração de registros do Python ignora mensagens de registro menos graves que o nível configurado, definir o nível como WARNING mostra apenas mensagens concisas para solicitações com falha, enquanto definir o nível como DEBUG mostra todos os tipos de registro na tabela.

Registrar em um arquivo

É possível gravar registros em um arquivo de maneira programática em Python ou redirecionando a saída da linha de comando.

Registrar em um arquivo em Python

Para gravar registros diretamente em um arquivo do Python, anexe um logging.FileHandler ao registrador do cliente:

import logging

logger = logging.getLogger("google.ads.googleads.client")
file_handler = logging.FileHandler("google_ads.log")
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)

Redirecionar a saída usando o shell

Ao executar scripts de exemplo como get_campaigns.py na linha de comando, é possível redirecionar a saída do registro do console para um arquivo usando o shell do seu sistema operacional.

Para salvar a saída padrão em um arquivo (substituindo qualquer arquivo existente):

python get_campaigns.py -c $CUSTOMER_ID > campaign_logs.txt

Para anexar a saída padrão a um arquivo existente:

python get_campaigns.py -c $CUSTOMER_ID >> campaign_logs.txt

Para salvar a saída padrão e o erro padrão (para erros e avisos) no mesmo arquivo:

python get_campaigns.py -c $CUSTOMER_ID > all_logs.txt 2>&1

Ou, no Bash 4 ou mais recente:

python get_campaigns.py -c $CUSTOMER_ID &> all_logs.txt

Interceptadores gRPC personalizados

A biblioteca de cliente Python usa interceptores do gRPC para acessar e registrar detalhes de solicitações e respostas. É possível configurar seu próprio registro personalizado criando um interceptador gRPC com lógica personalizada. Consulte o guia de geração de registros para mais detalhes e um exemplo de interceptador de geração de registros personalizado.