Logging

A biblioteca pode ser configurada para registrar interações com a API Google Ads de várias maneiras. É possível registrar solicitações e respostas detalhadas, bem como mensagens de resumo mais concisas. Essas configurações são gerenciadas pela configuração da biblioteca de cliente. Confira abaixo os detalhes dos diferentes tipos de opções de configuração disponíveis.

A biblioteca usa o framework de registros integrado do Python e faz registros em stderr por padrão. Se incluído, o objeto logging definido na configuração é transmitido diretamente para logging.config.dictConfig como um dict.

Também é possível configurar o registro de forma programática definindo uma configuração de registro antes de inicializar o cliente. É possível extrair a instância do registrador do cliente e configurá-la com o exemplo abaixo:

import logging
logging.basicConfig(level=logging.INFO, format='[%(asctime)s - %(levelname)s] %(message).5000s')
logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO)

O registrador de cliente é configurado quando o cliente é inicializado. Todas as mudanças subsequentes na configuração de geração de registros serão ignoradas. Para substituir a configuração de registro no arquivo YAML de forma programática, chame as linhas acima antes da inicialização do cliente.

Níveis de registro

O cliente gera registros em alguns níveis diferentes, e você pode definir a configuração para ver alguns ou todos os itens abaixo:

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

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

Geração de registros em um arquivo

É possível encaminhar facilmente mensagens de registro para um arquivo. Por exemplo, ao executar o exemplo get_campaigns::

python get_campaigns.py -c $CLIENT_ID 2> example.log

Interceptors de geração de registros

A biblioteca de cliente do Python usa interceptors 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 geração de registros para mais detalhes e um exemplo de um interceptor de geração de registros personalizado.