Skip to main content
Bepaal wat je app verstuurt voordat je het vastleggen inschakelt. Houd wachtwoorden, toegangstokens, formulierinhoud en privégegevens van gebruikers uit events. Bouw elk event op uit goedgekeurde velden. Kopieer geen volledig request-, response- of foutobject naar de metadata. Afscherming vervangt een gevoelige waarde. Een filter laat een heel event weg. Een geldig SDK-event kan nog steeds gegevens bevatten die je app niet mag versturen. Deze handleiding geldt voor deze pakketversies:
  • @logbrew/sdk 0.1.28
  • @logbrew/node 0.1.12
  • @logbrew/browser 0.1.11
Lees voor andere runtimes de handleiding van het pakket via SDK-integratie.

Velden voor de vastlegging kiezen

Leg bij een mislukte checkout een vast bericht, een routetemplate en een statuscode vast. Leg geen namen, e-mailadressen of betaalgegevens vast. Zie Productevents vastleggen voor gebruikers- en sessiecontext. Een ID kan een persoon identificeren, ook als er geen naam in staat.

De veldselectie lokaal testen

Gebruik Node.js 18 of nieuwer. Installeer het pakket in een lege map:
Deze test gebruikt geen echte sleutel en verstuurt geen request. Sla hem op als safe-capture.mjs:
Voer de test uit:
Verwachte uitvoer:
Een mislukte assertion print "ok":false en stopt met exitcode 1. Een validatiefout van de SDK print de SDK-foutcode. Print of upload geen preview die echte gegevens bevat. Gebruik hetzelfde patroon in je vastlegcode en houd de assertions in je tests. Voeg een controle toe voor elk veld en elke waarde die je app niet mag versturen. Gebruik je afscherming op basis van patronen, voer de controles dan opnieuw uit na elke wijziging van een regel. Deze test controleert één log in de wachtrij. Hij vervangt geen privacyreview.

Foutmeldingen en stacks

Een eigen options.message verwijdert metadata.errorMessage niet. Controleer het volledige event, niet alleen de titel. Houd gevoelige waarden bij de bron uit foutmeldingen.

Elke instelling binnen haar scope gebruiken

JavaScript-core en Node.js

LogBrewClient.create accepteert eventFilter. Geef false terug om een event weg te laten voordat het in de wachtrij komt. Bij elke andere returnwaarde blijft het event behouden. Het filter krijgt een kopie van het event, dus wijzigingen daaraan schermen niets af. createLogBrewNodeClient en createLogBrewBrowserClient passen eventFilter in deze versies niet toe. droppedEvents() telt events die zijn weggegooid door limieten voor grootte of wachtrij. Het telt geen events die eventFilter heeft weggelaten. De Node-client voegt runtimecontext toe, zoals de Node-versie, het besturingssysteem en de architectuur. Zet captureRuntimeContext: false om die weg te laten. Deze instelling verwijdert geen context die je app zelf meegeeft en stopt het vastleggen niet.

Browser

De browserclient legt standaard globale fouten, onafgehandelde rejections en een eerste paginaweergave vast. Zet captureGlobalErrors, captureUnhandledRejections of capturePageViews op false om er een uit te zetten. Paginaweergaven bevatten de padnaam. Ze laten de querystring, het fragment, de documenttitel en de volledige user-agent weg, tenzij je includeQueryString, includeHash, includeDocumentTitle of includeUserAgent instelt. Kan een padnaam privéwaarden bevatten, zet dan automatische paginaweergaven uit en verstuur zelf een paginaweergave met een veilige routenaam. sanitizeMetadata wijzigt alleen metadata. Het wijzigt geen namen van paginaweergaven of acties. De naam van een paginaweergave bevat de concrete padnaam, zoals page_view /orders/1234. Een routeTemplate in de metadata bepaalt de pagina of het scherm in Analytics, maar wijzigt de naam niet. shouldCaptureError laat alleen browserissues weg. Het filtert geen logs of andere signalen. Zet captureRuntimeContext: false om merk, platform en apparaatfamilie van de browser weg te laten. Deze instelling heeft geen invloed op includeUserAgent.

Voordat je echte gegevens vastlegt

Test elke ingeschakelde manier van vastleggen met synthetische gegevens, ook foutpaden en logintegraties. Wijzigingen in de vastlegging gelden alleen voor nieuwe events. purgePendingEvents() leegt een inactieve lokale wachtrij en mislukt terwijl er een aflevering loopt. Het stopt latere vastlegging niet en verwijdert geen events die LogBrew al heeft geaccepteerd. uninstall() in de browser verwijdert listeners, maar behoudt events in de wachtrij. Deze methoden zijn geen werkwijze voor toestemming of verwijdering. Verstuur daarna één synthetisch event met de snelstart. Ontbreekt het, zie dan Problemen oplossen. Zie API-fouten voor HTTP-fouten.