Debugging
Debug é um processo que possibilita aos desenvolvedores depurar mensagens de log ou valores de variáveis, por exemplo. A depuração permite ao usuário de Edge Functions gerar logs como se estivesse utilizando o JavaScript do browser.
O que é
Seção intitulada O que éO processo de debugging em Edge Functions tem por finalidade promover maior controle da aplicação para identificação de erros. Pode ser usado, também, para auxiliar no desenvolvimento e depuração de uma function, resultando em maior observabilidade.
Como funciona
Seção intitulada Como funcionaPara depuração de códigos, você deve criar uma nova função que irá utilizar o método log. Essa função escreve para um arquivo local a mensagem passada previamente por parâmetro a ela.
Verifique a aplicação da função console_from_event.log
abaixo:
async function handleRequest(request, console_from_event) { console_from_event.log("Hello World");
return new Response("Checking console output.", { status: 200, }); } addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request, event.console)); }); }
A mensagem, então, é coletada e fica disponível para ser acessada via Data Streaming.
Configurar o recebimento dos logs
Seção intitulada Configurar o recebimento dos logs- Acesse o Real-Time Manager com suas credenciais.
- No canto superior esquerdo, selecione Products Menu > Observe > Data Streaming.
- Selecione um template já existente ou crie um novo, clicando em Add Streaming.
- Preencha os campos abaixo com as informações necessárias:
Name for Data Streaming: defina um nome para seu template.
Data
Data Source: é a plataforma Azion que gerará os eventos de onde você deseja coletar dados. Selecione uma opção.
Template: definição das variáveis. Selecione Custom Template para criar uma nova configuração de dados e inclua as seguintes variáveis no campo Data Set:
Variável | Descrição |
---|---|
$time | Data e hora da requisição. |
$global_id | Identificador da configuração. |
$edge_function_id | Identificador da Edge Function. |
$request_id | Identificador da requisição. |
$log_level | Nível do log gerado (ERROR, WARN, INFO, DEBUG, TRACE). |
$log_message | Mensagem usada para o log na chamada da função. |
Options: local de onde será coletado dados. É possível filtrar os domínios (Filter Domains) ou selecionar todos (All Domains). Selecione uma opção.
Este campo aparecerá somente se você tiver mais de um domínio cadastrado.
Domains: caso deseje especificar quais os domínios, selecione-os na caixa.
Sampling: definição da % dos dados que serão transmitidos. So é permitido alterar o valor ao selecionar All Domains no campo Options.
Este campo aparecerá somente se você tiver mais de um domínio cadastrado.
Destination
Endpoint type: o método pelo qual seu endpoint vai receber os dados coletados por Data Streaming. Selecione uma opção.
Endpoint URL: a URL que receberá as informações transmitidas por Data Streaming. Defina a URL.
Custom Headers: inclua aqui a necessidade de adicionar headers nas requisições.
- Clique em Save para finalizar o processo.
Consulte a documentação do Data Streaming para mais informações.