Vai al contenuto principale
Puoi inviare a LogBrew 2 tipi di dati Supabase:
  • Un log drain invia i log della piattaforma del tuo progetto Supabase, come i log di Postgres, Auth, Storage ed Edge Functions.
  • L’SDK JavaScript di LogBrew invia i log e gli errori che il codice delle tue Edge Functions acquisisce.
Puoi usarne uno o entrambi. Entrambi richiedono una chiave di ingestione del progetto. Crea una chiave server per ogni uso. I tipi di chiave sono descritti in Tipi di chiave di progetto.

Invia i log della piattaforma con un log drain

I log drain di Supabase sono disponibili nei piani Pro, Team ed Enterprise di Supabase. Supabase addebita un costo per ogni drain e per gli eventi che invia. Leggi i prezzi di Supabase prima di aggiungere un drain.
1

Apri le impostazioni del log drain

Nella dashboard di Supabase, apri il tuo progetto. Vai in Project Settings e poi in Log Drains.
2

Aggiungi una destinazione OpenTelemetry

Aggiungi una destinazione di tipo OpenTelemetry (OTLP). Imposta questi valori:Al posto di x-logbrew-key puoi usare l’header Authorization con il valore Bearer lbw_ingest_....
3

Salva la destinazione

Salva la destinazione. Supabase inizia a inviare i log a LogBrew.Punto di controllo: i nuovi log di Supabase compaiono nei log del tuo progetto LogBrew. Per leggerli dalla CLI, segui Rileggi il tuo evento di test.
LogBrew legge il drain come log OTLP. L’attributo di risorsa service.name imposta il servizio di ogni log. Gli altri attributi di risorsa restano nei metadati del log. LogBrew rimuove le credenziali dagli URL e da attributi come authorization prima di salvare il log. La mappatura completa è descritta in OpenTelemetry (OTLP). Se non arriva nessun log, controlla l’endpoint, il protocollo e l’header. La chiave di ingestione deve appartenere al progetto LogBrew che leggi.

Acquisisci log ed errori nelle Edge Functions

Le Supabase Edge Functions girano su Deno. Usa @logbrew/node da npm. Questa configurazione funziona con Deno 2.9, @logbrew/node 0.1.20 e @logbrew/sdk 0.1.35.
1

Salva la chiave di ingestione come segreto della funzione

Usa la CLI di Supabase. Sostituisci il segnaposto con la tua chiave:
2

Crea il client ed esegui il flush prima di rispondere

Crea il client una sola volta, fuori dall’handler della richiesta. Acquisisci gli eventi nell’handler. Chiama flush() prima di restituire la risposta, perché la funzione può fermarsi dopo la risposta.
Con captureRuntimeContext: false e il contesto runtime, LogBrew mostra Deno come runtime. Senza queste impostazioni, l’SDK riporta la versione di Node.js che Deno emula.Se l’invio non riesce, flush() genera un SdkError, ad esempio con il codice network_failure. L’esempio scrive solo il codice di errore nel log della funzione, e la funzione restituisce comunque la sua risposta.
3

Esegui il deploy e chiama la funzione

Esegui il deploy della funzione con supabase functions deploy checkout. Chiamala una volta.Punto di controllo: il log checkout request compare nel tuo progetto LogBrew.
Non mettere credenziali, corpi delle richieste o dati dei clienti nei metadati degli eventi.