@logbrew/sdk0.1.28@logbrew/node0.1.12@logbrew/browser0.1.11
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:safe-capture.mjs:
"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. ZetcaptureGlobalErrors,
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.