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:visões gerais de alto nível das interações da API.
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 no arquivo
google-ads.yamlou nas variáveis de ambiente. - Programaticamente com Python: use o framework
loggingintegrado do Python para controle direto.
Configurar usando google-ads.yaml
A geração de registros é configurada automaticamente quando uma instância GoogleAdsClient é inicializada (por exemplo, ao chamar load_from_storage). Na inicialização, a biblioteca:
- Lê as configurações de geração de registros especificadas na sua configuração.
- Transmite essas configurações para integrado do Python
logging.config.dictConfigpara ativá-las.
Por exemplo, você pode adicionar 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 programaticamente
Ao usar a biblioteca como um pacote instalado sem uma seção logging no arquivo de configuração, é possível integrar a geração de registros dela à configuração de geração de registros do aplicativo de forma programática. Anexe um gerenciador de geração de registros à instância do logger 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 mostrar alguns ou todos os itens a seguir:
| 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 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 da exceção e a mensagem de erro. |
Como o framework de geração de registros do Python ignora mensagens de registro menos graves do 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 forma programática no Python ou redirecionando a saída da linha de comando.
Registrar em um arquivo no Python
Para gravar registros diretamente em um arquivo do Python, anexe um logging.FileHandler ao logger 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 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 e versões mais recentes:
python get_campaigns.py -c $CUSTOMER_ID &> all_logs.txt
Interceptadores gRPC personalizados
A biblioteca de cliente do Python usa interceptadores gRPC interceptors 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 um interceptador de geração de registros personalizado.