Skip to main content
Choisissez ce que votre application envoie avant d’activer la capture. Gardez les mots de passe, les jetons d’accès, le contenu des formulaires et les données privées des utilisateurs hors des signaux. Construisez chaque signal à partir de champs approuvés. Ne copiez pas une requête, une réponse ou un objet d’erreur complet dans les métadonnées. Le masquage remplace une valeur sensible. Un filtre écarte un signal entier. Un signal SDK valide peut quand même contenir des données que votre application ne doit pas envoyer. Ce guide s’applique à ces versions de paquets :
  • @logbrew/sdk 0.1.28
  • @logbrew/node 0.1.12
  • @logbrew/browser 0.1.11
Pour les autres runtimes, lisez le guide du paquet indiqué dans Intégration du SDK.

Sélectionner les champs à capturer

Pour un paiement échoué, enregistrez un message fixe, un modèle de route et un code de statut. N’enregistrez ni noms, ni adresses e-mail, ni données de paiement. Pour le contexte de l’utilisateur et de la session, consultez Capture d’événements produit. Un ID peut identifier une personne même s’il ne contient pas de nom.

Tester la sélection des champs en local

Utilisez Node.js 18 ou plus récent. Dans un dossier vide, installez le paquet :
Ce test n’utilise aucune vraie clé et n’envoie aucune requête. Enregistrez-le sous le nom safe-capture.mjs :
Exécutez le test :
Résultat attendu :
Une assertion qui échoue affiche "ok":false et quitte avec le code 1. Une erreur de validation du SDK affiche son code d’erreur SDK. N’affichez pas et n’importez pas un aperçu qui contient de vraies données. Utilisez le même modèle dans votre code de capture et gardez les assertions dans vos tests. Ajoutez une vérification pour chaque champ et chaque valeur que votre application ne doit pas envoyer. Si vous utilisez un masquage basé sur des motifs, relancez les vérifications après chaque modification de règle. Ce test vérifie un seul log en file d’attente. Il ne remplace pas un examen de confidentialité.

Messages d’erreur et piles

Un options.message personnalisé ne retire pas metadata.errorMessage. Vérifiez le signal complet, pas seulement son titre. Gardez les valeurs sensibles hors des messages d’erreur dès leur source.

Utiliser chaque contrôle dans son périmètre

JavaScript (core) et Node.js

LogBrewClient.create accepte eventFilter. Renvoyez false pour écarter un signal avant son entrée dans la file d’attente. Toute autre valeur de retour garde le signal. Le filtre reçoit une copie du signal : la modifier ne masque donc rien. createLogBrewNodeClient et createLogBrewBrowserClient n’appliquent pas eventFilter dans ces versions. droppedEvents() compte les signaux abandonnés à cause des limites de taille ou de file d’attente. Il ne compte pas les signaux écartés par eventFilter. Le client Node ajoute le contexte d’exécution, comme la version de Node, le système d’exploitation et l’architecture. Définissez captureRuntimeContext: false pour l’omettre. Ce paramètre ne retire pas le contexte fourni par votre application et n’arrête pas la capture. Par défaut, le client navigateur capture les erreurs globales, les rejets non gérés et une première vue de page. Définissez captureGlobalErrors, captureUnhandledRejections ou capturePageViews à false pour désactiver l’une de ces captures. Les vues de page incluent le chemin (pathname). Elles omettent la chaîne de requête, le fragment, le titre du document et le user agent complet, sauf si vous définissez includeQueryString, includeHash, includeDocumentTitle ou includeUserAgent. Si un chemin peut contenir des valeurs privées, désactivez les vues de page automatiques et envoyez votre propre vue de page avec un nom de route sans risque. sanitizeMetadata ne modifie que les métadonnées. Il ne modifie pas les noms des vues de page ni des actions. Le nom d’une vue de page contient le chemin réel, comme page_view /orders/1234. Un routeTemplate dans les métadonnées définit la surface affichée dans Analyses, mais il ne modifie pas le nom. shouldCaptureError écarte uniquement les problèmes du navigateur. Il ne filtre pas les logs ni les autres signaux. Définissez captureRuntimeContext: false pour omettre la marque du navigateur, la plateforme et la famille d’appareil. Ce paramètre ne contrôle pas includeUserAgent.

Avant la capture réelle

Testez chaque méthode de capture activée avec des données synthétiques, y compris les chemins d’erreur et les intégrations de logging. Les modifications de la capture ne s’appliquent qu’aux nouveaux signaux. purgePendingEvents() vide une file d’attente locale inactive et échoue pendant un envoi en cours. Il n’arrête pas la capture ultérieure et ne retire pas les signaux déjà acceptés par LogBrew. uninstall() dans le navigateur retire les écouteurs mais garde les signaux en file d’attente. Ces méthodes ne sont pas un processus de consentement ou de suppression. Envoyez ensuite un signal synthétique avec le démarrage rapide. S’il n’apparaît pas, consultez Dépannage. Pour les erreurs HTTP, consultez Erreurs de l’API.