Przejdź do głównej treści
Do LogBrew możesz wysyłać 2 rodzaje danych z Supabase:
  • Log drain wysyła logi platformy z twojego projektu Supabase, na przykład logi Postgres, Auth, Storage i Edge Functions.
  • SDK JavaScript LogBrew wysyła logi i błędy, które rejestruje kod twoich Edge Functions.
Możesz użyć jednego z nich lub obu. Oba wymagają klucza wysyłania projektu. Dla każdego z nich utwórz osobny klucz server. Rodzaje kluczy opisuje sekcja Rodzaje kluczy projektu.

Wysyłaj logi platformy przez log drain

Log drain jest dostępny w planach Pro, Team i Enterprise Supabase. Supabase nalicza opłatę za każdy drain i za zdarzenia, które on wysyła. Zanim dodasz drain, sprawdź cennik Supabase.
1

Otwórz ustawienia log drain

W panelu Supabase otwórz swój projekt. Przejdź do Project Settings, a następnie do Log Drains.
2

Dodaj miejsce docelowe OpenTelemetry

Dodaj miejsce docelowe typu OpenTelemetry (OTLP). Ustaw te wartości:Zamiast x-logbrew-key możesz użyć nagłówka Authorization z wartością Bearer lbw_ingest_....
3

Zapisz miejsce docelowe

Zapisz miejsce docelowe. Supabase zacznie wysyłać logi do LogBrew.Punkt kontrolny: nowe logi Supabase pojawiają się w logach twojego projektu LogBrew. Aby odczytać je w CLI, wykonaj kroki z sekcji Odczytaj zdarzenie testowe.
LogBrew odczytuje drain jako logi OTLP. Atrybut zasobu service.name ustala usługę każdego logu. Pozostałe atrybuty zasobu zostają w metadanych logu. Zanim LogBrew zapisze log, usuwa poświadczenia z adresów URL i z atrybutów takich jak authorization. Pełne mapowanie opisuje przewodnik OpenTelemetry (OTLP). Jeśli logi nie docierają, sprawdź endpoint, protokół i nagłówek. Klucz wysyłania musi należeć do projektu LogBrew, z którego odczytujesz dane.

Rejestruj logi i błędy w Edge Functions

Supabase Edge Functions działają w Deno. Użyj pakietu @logbrew/node z npm. Ta konfiguracja działa z Deno 2.9, @logbrew/node 0.1.20 i @logbrew/sdk 0.1.35.
1

Zapisz klucz wysyłania jako sekret funkcji

Użyj Supabase CLI. Zastąp symbol zastępczy swoim kluczem:
2

Utwórz klienta i opróżnij kolejkę przed zwróceniem odpowiedzi

Utwórz klienta raz, poza handlerem żądań. Rejestruj zdarzenia w handlerze. Wywołaj flush(), zanim zwrócisz odpowiedź, bo po jej zwróceniu funkcja może się zatrzymać.
Dzięki captureRuntimeContext: false i kontekstowi runtime LogBrew pokazuje Deno jako środowisko uruchomieniowe. Bez nich SDK zgłasza wersję Node.js, którą emuluje Deno.Jeśli dostarczenie się nie powiedzie, flush() zgłasza SdkError, na przykład z kodem network_failure. Przykład zapisuje w logu funkcji tylko kod błędu, a funkcja i tak zwraca odpowiedź.
3

Wdróż i wywołaj funkcję

Wdróż funkcję poleceniem supabase functions deploy checkout. Wywołaj ją raz.Punkt kontrolny: log checkout request pojawia się w twoim projekcie LogBrew.
Nie umieszczaj poświadczeń, treści żądań ani danych klientów w metadanych zdarzeń.