- Um log drain envia os logs da plataforma do seu projeto Supabase, como os logs de Postgres, Auth, Storage e Edge Functions.
- O SDK de JavaScript do LogBrew envia os logs e erros que o código das suas Edge Functions captura.
server para cada uso. Os tipos de chave
estão em
Tipos de chave de projeto.
Envie logs da plataforma com um log drain
Os log drains do Supabase estão disponíveis nos planos Pro, Team e Enterprise do Supabase. O Supabase cobra por drain e pelos eventos que cada drain envia. Leia os preços do Supabase antes de adicionar um drain.1
Abra as configurações de log drain
No painel do Supabase, abra o seu projeto. Vá para Project Settings e
depois para Log Drains.
2
Adicione um destino OpenTelemetry
Adicione um destino do tipo OpenTelemetry (OTLP). Defina estes
valores:
Em vez de
x-logbrew-key, você pode usar o cabeçalho Authorization com
o valor Bearer lbw_ingest_....3
Salve o destino
Salve o destino. O Supabase começa a enviar logs para o LogBrew.Ponto de controle: novos logs do Supabase aparecem nos logs do seu
projeto LogBrew. Para ler esses logs pela CLI, siga
Leia de volta o seu evento de teste.
service.name
define o serviço de cada log. Os outros atributos de recurso ficam nos
metadados do log. O LogBrew remove credenciais das URLs e de atributos como
authorization antes de armazenar o log. O mapeamento completo está no guia
OpenTelemetry (OTLP).
Se nenhum log chegar, confira o endpoint, o protocolo e o cabeçalho. A chave
de ingestão precisa pertencer ao projeto LogBrew que você lê.
Capture logs e erros em Edge Functions
As Edge Functions do Supabase rodam no Deno. Use o@logbrew/node do npm.
Esta configuração funciona com Deno 2.9, @logbrew/node 0.1.20 e
@logbrew/sdk 0.1.35.
1
Salve a chave de ingestão como segredo da função
Use a CLI do Supabase. Substitua o marcador pela sua chave:
2
Crie o cliente e faça o flush antes de retornar
Crie o cliente uma vez, fora do handler da requisição. Capture os eventos
no handler. Chame
flush() antes de retornar a resposta, porque a função
pode parar depois de retornar.captureRuntimeContext: false e o contexto runtime fazem o LogBrew
mostrar o Deno como runtime. Sem eles, o SDK informa a versão do Node.js
que o Deno emula.Se a entrega falhar, flush() lança um SdkError, por exemplo com o
código network_failure. O exemplo grava só o código de erro no log da
função, e a função ainda retorna a resposta.3
Implante e chame a função
Implante a função com
supabase functions deploy checkout. Chame a função
uma vez.Ponto de controle: o log checkout request aparece no seu projeto
LogBrew.