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:visões gerais de alto nível das interações da API.
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 no arquivo
google-ads.yamlou nas variáveis de ambiente. - De forma programática com Python:use o framework
loggingintegrado do Python para controle direto.
Configurar usando google-ads.yaml
O registro é configurado automaticamente quando uma instância GoogleAdsClient é inicializada (por exemplo, quando você chama load_from_storage). Na inicialização, a biblioteca:
- Lê as configurações de geração de registros especificadas na configuração.
- Transfere essas configurações para o
logging.config.dictConfigintegrado do Python para ativá-las.
Por exemplo, adicione uma seção logging ao arquivo google-ads.yaml:
logging:
version: 1
disable_existing_loggers: false
formatters:
default_fmt:
format: '[%(asctime)s - %(levelname)s] %(message).5000s'
datefmt: '%Y-%m-%d %H:%M:%S'
handlers:
default_handler:
class: logging.StreamHandler
formatter: default_fmt
loggers:
'':
handlers: [default_handler]
level: INFO
Configurar de forma programática
Ao usar a biblioteca como um pacote instalado sem uma seção logging no
arquivo de configuração, é possível integrar o registro dela ao
programa de configuração de registro do aplicativo de maneira programática. Anexe um gerenciador de registros à instância do registrador da biblioteca (google.ads.googleads.client) usando addHandler e defina o nível de registro de destino:
import logging
import sys
# Retrieve the library's logger instance.
logger = logging.getLogger("google.ads.googleads.client")
# Direct logs to standard output (stdout).
logger.addHandler(logging.StreamHandler(sys.stdout))
# Set the log level to DEBUG to view detailed messages.
logger.setLevel(logging.DEBUG)
Se preferir enviar registros para o erro padrão (stderr), que geralmente é usado para
mensagens de erro e avisos, transmita sys.stderr para logging.StreamHandler:
import logging
import sys
logger = logging.getLogger("google.ads.googleads.client")
logger.addHandler(logging.StreamHandler(sys.stderr))
logger.setLevel(logging.WARNING)
Níveis de registro
O cliente gera registros em vários níveis de gravidade, e você pode configurar o logger para ver alguns ou todos os seguintes itens:
| 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 da exceção e a mensagem de erro. |
Como a estrutura de geração de registros do Python ignora mensagens de registro menos graves que o nível configurado, definir o nível como WARNING mostra apenas mensagens concisas para solicitações com falha, enquanto definir o nível como DEBUG mostra todos os tipos de registro na tabela.
Registrar em um arquivo
É possível gravar registros em um arquivo de maneira programática em Python ou redirecionando a saída da linha de comando.
Registrar em um arquivo em Python
Para gravar registros diretamente em um arquivo do Python, anexe um logging.FileHandler ao
registrador do cliente:
import logging
logger = logging.getLogger("google.ads.googleads.client")
file_handler = logging.FileHandler("google_ads.log")
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
Redirecionar a saída usando o shell
Ao executar scripts de exemplo como get_campaigns.py na
linha de comando, é possível redirecionar a saída do registro do console para um arquivo usando o shell do seu
sistema operacional.
Para salvar a saída padrão em um arquivo (substituindo qualquer arquivo existente):
python get_campaigns.py -c $CUSTOMER_ID > campaign_logs.txt
Para anexar a saída padrão a um arquivo existente:
python get_campaigns.py -c $CUSTOMER_ID >> campaign_logs.txt
Para salvar a saída padrão e o erro padrão (para erros e avisos) no mesmo arquivo:
python get_campaigns.py -c $CUSTOMER_ID > all_logs.txt 2>&1
Ou, no Bash 4 ou mais recente:
python get_campaigns.py -c $CUSTOMER_ID &> all_logs.txt
Interceptadores gRPC personalizados
A biblioteca de cliente Python usa interceptores do gRPC para acessar e registrar detalhes de solicitações e respostas. É possível configurar seu próprio registro personalizado 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.