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: uma visão geral de alto nível das interações.

É possível controlar essas configurações de duas maneiras:

  • Configuração da biblioteca de cliente: use as opções de configuração específicas da biblioteca.
  • De maneira programática com Python: use a estrutura logging integrada do Python para ter um controle mais direto.

O registro em registros é configurado automaticamente quando uma instância GoogleAdsClient é inicializada. Essa etapa de inicialização ocorre, por exemplo, quando você usa o método load_from_storage. Neste ponto, a biblioteca vai:

Quando essa biblioteca é usada como um pacote instalado, é necessário integrar o registro dela à configuração de registro do seu aplicativo. Especificamente, é necessário adicionar um processador de registros à própria instância de logger da biblioteca com o método addHandler. Esse gerenciador vai determinar para onde as mensagens de registro da biblioteca são direcionadas (por exemplo, para o console, um arquivo etc.). Para fazer isso, primeiro recupere a instância do registrador da biblioteca, conforme mostrado aqui:

import logging

logger = logging.getLogger('google.ads.googleads.client')

Depois de recuperar o registrador da biblioteca, você pode informar onde gerar mensagens de registro.

  • Envio de registros para o console: para mostrar mensagens de registro no console, adicione um manipulador básico. Veja como direcionar os registros para a saída padrão (stdout):

    Veja como definir um gerenciador básico que vai instruir o logger a imprimir em stdout:

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stdout))
    

    Se você preferir enviar registros para o erro padrão (stderr), que geralmente é usado para mensagens de erro e avisos:

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stderr))
    
  • Configurar outras opções de geração de registros de maneira programática: depois de ter o objeto de logger, você também pode mudar outras configurações de geração de registros de maneira programática usando o módulo logging integrado do Python. Por exemplo, para mudar o nível de geração de registros para DEBUG (que vai mostrar mensagens mais detalhadas):

    logger.setLevel(logging.DEBUG)
    

Níveis de registro

O cliente gera registros em alguns níveis diferentes, e você pode definir sua configuração para ver parte ou tudo o que está abaixo:

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 e a mensagem da exceção.

Como a estrutura de registro do Python ignora mensagens de registro menos graves que o nível configurado, definir como WARNING significa que você só vai ver mensagens concisas relacionadas a solicitações com falha, mas definir como DEBUG significa que você vai ver todos os tipos possíveis de registros na tabela acima.

Geração de registros em arquivo

Ao executar scripts de exemplo como get_campaigns.py na linha de comando, todas as mensagens de registro geralmente impressas no console podem ser redirecionadas (ou "encaminhadas") para um arquivo. Esse é um recurso do shell do seu sistema operacional, não da biblioteca Python em si. Veja como fazer isso:

Para salvar a saída padrão (a maioria dos registros) em um arquivo (substituindo-o):

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

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

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

Para salvar a resposta padrão e o erro padrão (para erros/avisos) no mesmo arquivo:

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

(Ou, em alguns shells modernos, como Bash 4 ou versões mais recentes):

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

Interceptadores de geração de registros

A biblioteca de cliente do Python usa interceptores do gRPC para acessar e registrar detalhes de solicitações e respostas. Você pode configurar seu próprio registro personalizado criando um interceptor gRPC com lógica personalizada. Consulte o guia de registro para mais detalhes e um exemplo de interceptor de registro personalizado.