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. Veja abaixo os detalhes sobre os diferentes tipos de opções de configuração disponíveis.

A biblioteca usa o framework de geração de registros integrado do Python e registra-se no stderr por padrão. Se incluído, o objeto logging definido na configuração será transmitido diretamente para logging.config.dictConfig como dict.

Também é possível definir a geração de registros de maneira programática definindo uma configuração de geração de registros antes de inicializar o cliente. É possível recuperar a instância do registrador do cliente e configurá-la com o seguinte exemplo:

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

Observe que o registrador do cliente é configurado quando o cliente é inicializado. Todas as alterações subsequentes na configuração da geração de registros serão ignoradas. Para substituir programaticamente a configuração da geração de registros no arquivo YAML, chame as linhas acima antes que o cliente seja inicializado.

Níveis de registro

O cliente gera registros em alguns níveis diferentes e é possível definir a configuração para ver alguns ou todos os itens abaixo:

Nível Solicitação bem-sucedida 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 None Um resumo conciso com informações específicas da solicitação, o estado e a mensagem da exceção.

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

Registrando no arquivo

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

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

Interceptadores de geração de registros

A biblioteca de cliente Python usa interceptadores do gRPC para acessar e registrar detalhes de solicitações e respostas. É possível configurar a própria geração de registros personalizados criando um interceptador gRPC com lógica personalizada. Consulte o Guia de geração de registros para ver mais detalhes e um exemplo de um interceptador de geração de registros personalizada.