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:
- 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 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.