A biblioteca oferece registro versátil para interações com a API Google Ads. Você pode capturar:
- Informações detalhadas: solicitações completas enviadas para a API e respostas recebidas.
- Resumos concisos: uma visão geral de alto nível das interações.
E 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.
- Programáticamente com Python: use a estrutura de registro integrada do Python para ter um controle mais direto.
O registro é 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
. Nesse ponto, a biblioteca vai:
- Leia as configurações de geração de registros especificadas na configuração.
- Transmita essas configurações para o
logging.config.dictConfig
integrado do Python para ativá-las.
Quando essa biblioteca é usada como um pacote instalado, é necessário integrar o
registro dela à configuração de registro do aplicativo. Especificamente, é necessário adicionar um
gerenciador de registros à própria instância de registro 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, é possível informar onde gerar as mensagens de registro.
Como enviar registros para o console: para mostrar mensagens de registro no console, adicione um gerenciador básico. Veja como direcionar os registros para a saída padrão (
stdout
):Confira como definir um gerenciador básico que vai instruir o registrador 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 é usado com frequência para mensagens de erro e avisos:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stderr))
Como configurar outras configurações de geração de registros de forma programática: depois de ter o objeto de geração de registros, você também pode mudar outras configurações de geração de registros de forma programática usando o módulo de geração de registros integrado do Python. Por exemplo, para mudar o nível de registro para
DEBUG
, que mostra mensagens mais detalhadas:logger.setLevel(logging.DEBUG)
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 | 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 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
Quando você executa scripts de exemplo como
get_campaigns.py
na linha de comando, todas as mensagens de registro normalmente impressas no console podem
ser redirecionadas (ou "canalizadas") para um arquivo. Esse é um recurso do shell do sistema
operacional, não da biblioteca Python. 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 saída 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 o Bash 4+:
python get_campaigns.py -c $CLIENT_ID &> all_logs.txt
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.