@logbrew/sdk0.1.28@logbrew/node0.1.12@logbrew/browser0.1.11
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 :safe-capture.mjs :
"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.
Navigateur
Par défaut, le client navigateur capture les erreurs globales, les rejets non gérés et une première vue de page. DéfinissezcaptureGlobalErrors,
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.