Passer au contenu principal
Vous pouvez envoyer 2 types de données Supabase à LogBrew :
  • Un log drain envoie les logs de plateforme de votre projet Supabase, comme les logs Postgres, Auth, Storage et Edge Functions.
  • Le SDK JavaScript LogBrew envoie les logs et les erreurs que capture le code de vos propres Edge Functions.
Vous pouvez utiliser l’un des deux ou les deux. Les deux nécessitent une clé d’ingestion du projet. Créez une clé server pour chaque usage. Les types de clés sont décrits dans Types de clés de projet.

Envoyer les logs de plateforme avec un log drain

Les log drains Supabase sont disponibles avec les forfaits Supabase Pro, Team et Enterprise. Supabase facture chaque drain et les événements qu’il envoie. Consultez les tarifs de Supabase avant d’ajouter un drain.
1

Ouvrir les paramètres du log drain

Dans le tableau de bord Supabase, ouvrez votre projet. Allez dans Project Settings, puis dans Log Drains.
2

Ajouter une destination OpenTelemetry

Ajoutez une destination de type OpenTelemetry (OTLP). Définissez ces valeurs :À la place de x-logbrew-key, vous pouvez utiliser l’en-tête Authorization avec la valeur Bearer lbw_ingest_....
3

Enregistrer la destination

Enregistrez la destination. Supabase commence à envoyer des logs à LogBrew.Point de contrôle : les nouveaux logs Supabase s’affichent dans les logs de votre projet LogBrew. Pour les lire depuis la CLI, suivez Relire votre signal de test.
LogBrew lit le drain comme des logs OTLP. L’attribut de ressource service.name définit le service de chaque log. Les autres attributs de ressource restent dans les métadonnées du log. LogBrew retire les identifiants des URL et des attributs comme authorization avant de stocker le log. La correspondance complète est décrite dans OpenTelemetry (OTLP). Si aucun log n’arrive, vérifiez le point de terminaison, le protocole et l’en-tête. La clé d’ingestion doit appartenir au projet LogBrew que vous lisez.

Capturer les logs et les erreurs des Edge Functions

Les Supabase Edge Functions s’exécutent sur Deno. Utilisez @logbrew/node depuis npm. Cette configuration fonctionne avec Deno 2.9, @logbrew/node 0.1.20 et @logbrew/sdk 0.1.35.
1

Enregistrer la clé d’ingestion comme secret de fonction

Utilisez la CLI Supabase. Remplacez la valeur fictive par votre clé :
2

Créer le client et vider la file d’attente avant de répondre

Créez le client une seule fois, en dehors du handler de requête. Capturez les signaux dans le handler. Appelez flush() avant de renvoyer la réponse, car la fonction peut s’arrêter après sa réponse.
Avec captureRuntimeContext: false et le contexte runtime, LogBrew affiche Deno comme runtime. Sans eux, le SDK indique la version de Node.js que Deno émule.Si l’envoi échoue, flush() lève une SdkError, par exemple avec le code network_failure. L’exemple écrit uniquement le code d’erreur dans le log de la fonction, et la fonction renvoie quand même sa réponse.
3

Déployer et appeler la fonction

Déployez la fonction avec supabase functions deploy checkout. Appelez-la une fois.Point de contrôle : le log checkout request s’affiche dans votre projet LogBrew.
Ne mettez pas d’identifiants, de corps de requête ni de données client dans les métadonnées des signaux.