- Log drain, Supabase projenizin Postgres, Auth, Storage ve Edge Functions logları gibi platform loglarını gönderir.
- LogBrew JavaScript SDK’sı, kendi Edge Function kodunuzun yakaladığı logları ve hataları gönderir.
server anahtarı
oluşturun. Anahtar türleri için
Proje anahtarı türleri bölümüne
bakın.
Platform loglarını log drain ile gönderin
Supabase log drain’leri Supabase Pro, Team ve Enterprise planlarında kullanılabilir. Supabase her drain için ve drain’in gönderdiği olaylar için ücret alır. Drain eklemeden önce Supabase fiyatlandırmasını okuyun.1
Log drain ayarlarını açın
Supabase panelinde projenizi açın. Project Settings bölümüne, ardından
Log Drains bölümüne gidin.
2
OpenTelemetry hedefi ekleyin
OpenTelemetry (OTLP) türünde bir hedef ekleyin. Şu değerleri ayarlayın:
x-logbrew-key yerine, Bearer lbw_ingest_... değeriyle Authorization
başlığını da kullanabilirsiniz.3
Hedefi kaydedin
Hedefi kaydedin. Supabase, logları LogBrew’e göndermeye başlar.Kontrol noktası: yeni Supabase logları, LogBrew projenizin loglarında
görünür. Bunları CLI’dan okumak için
Test olayınızı geri okuyun
bölümündeki adımları izleyin.
service.name kaynak özniteliği her
logun hizmetini belirler. Diğer kaynak öznitelikleri logun meta verisinde
kalır. LogBrew, logu saklamadan önce URL’lerden ve authorization gibi
özniteliklerden kimlik bilgilerini kaldırır. Eşlemenin tamamı için
OpenTelemetry (OTLP) sayfasına bakın.
Log gelmezse uç noktayı, protokolü ve başlığı kontrol edin. Alım anahtarı,
okuduğunuz LogBrew projesine ait olmalıdır.
Edge Functions’ta logları ve hataları yakalayın
Supabase Edge Functions, Deno üzerinde çalışır. npm’den@logbrew/node
paketini kullanın. Bu kurulum Deno 2.9, @logbrew/node 0.1.20 ve
@logbrew/sdk 0.1.35 ile çalışır.
1
Alım anahtarını fonksiyon gizli bilgisi olarak kaydedin
Supabase CLI’ı kullanın. Yer tutucuyu kendi anahtarınızla değiştirin:
2
İstemciyi oluşturun ve yanıt vermeden önce flush edin
İstemciyi istek handler’ının dışında bir kez oluşturun. Olayları
handler’da yakalayın. Yanıtı döndürmeden önce
flush() çağırın, çünkü
fonksiyon yanıt döndürdükten sonra durabilir.captureRuntimeContext: false ve runtime bağlamı sayesinde LogBrew,
çalışma zamanı olarak Deno’yu gösterir. Bunlar olmadan SDK, Deno’nun emüle
ettiği Node.js sürümünü bildirir.Gönderim başarısız olursa flush() bir SdkError fırlatır. Örneğin hata
kodu network_failure olabilir. Örnek, fonksiyon loguna yalnızca hata
kodunu yazar. Fonksiyon yine de yanıtını döndürür.3
Fonksiyonu dağıtın ve çağırın
Fonksiyonu
supabase functions deploy checkout komutuyla dağıtın.
Fonksiyonu bir kez çağırın.Kontrol noktası: checkout request logu LogBrew projenizde görünür.