A biblioteca oferece geração de registros versátil para interações da API Google Ads. É possível capturar:
- Informações detalhadas: solicitações completas enviadas à API e respostas recebidas.
- Resumos concisos: uma visão geral das interações.
Você pode controlar essas configurações de geração de registros de duas maneiras:
- Configuração da biblioteca de cliente: use as opções de configuração específicas da biblioteca.
- Programaticamente com Python: use a estrutura de geração de registros integrada do Python para ter um controle mais direto.
A geração de registros é configurada 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 momento, a biblioteca vai:
- Ler as configurações de geração de registros especificadas na configuração.
- Transmitir essas configurações para
logging.config.dictConfigintegrado do Python para ativá-las.
Quando essa biblioteca é usada como um pacote instalado, é necessário integrar a geração de registros dela à configuração de geração de registros do aplicativo. Especificamente, é necessário adicionar um
gerenciador de geração de registros à instância do logger da biblioteca com o
addHandler
método. Esse gerenciador vai determinar para onde as mensagens de registro da biblioteca serão direcionadas (por exemplo, para o console, um arquivo etc.). Para fazer isso, primeiro recupere a instância do logger da biblioteca, conforme mostrado aqui:
import logging
logger = logging.getLogger('google.ads.googleads.client')
Depois de recuperar o logger da biblioteca, você pode informar onde as mensagens de registro serão geradas.
Como enviar registros para o console: para mostrar mensagens de registro no console, adicione um gerenciador básico. Veja como direcionar registros para a saída padrão (
stdout):E como definir um gerenciador básico que vai informar ao logger para 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))Como configurar outras configurações de geração de registros de forma programática: depois de ter o objeto do logger, também é possível 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 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 alguns ou todos os itens abaixo:
| Nível | Solicitação bem-sucedida | Solicitação com falha |
|---|---|---|
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 de solicitação e resposta específicos. | Um registro detalhado com objetos de solicitação e exceção completos como JSON. |
WARNING |
Nenhum | Um resumo conciso com informações de solicitação específicas, o estado e a mensagem da exceção. |
Como a estrutura de geração de registros do Python ignora mensagens de registro menos graves do que o nível configurado, a definição de WARNING significa que você só verá mensagens concisas relacionadas a solicitações com falha, mas a definição de DEBUG significa que você 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 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:
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 ou mais recente):
python get_campaigns.py -c $CLIENT_ID &> all_logs.txt
Interceptadores de geração de registros
A biblioteca de cliente do Python usa interceptadores gRPC para acessar e registrar detalhes de solicitação e resposta. É possível configurar sua própria geração de registros personalizada criando um interceptador gRPC com lógica personalizada. Consulte o guia de geração de registros para mais detalhes e um exemplo de interceptador de geração de registros personalizado.