@logbrew/sdk 0.1.28. Sie
brauchen eine Vite-App, Zugriff auf deren Build-Ausgabe und die Berechtigung,
einen Projektschlüssel zu erstellen. Für Debug-Dateien von Apple siehe
Apple-Abstürze und Hänger.
Build und Ereignisse zusammenhalten
Verwenden Sie für den Upload und für die Laufzeitereignisse der App dasselbe Projekt, Release, dieselbe Umgebung und denselben Dienst. Versionsnamen erklärt Releases. Dieser Leitfaden verwendetweb@1.2.3, staging und checkout-web.
Ändern Sie das Release, wenn sich der gebaute Code ändert. Laden Sie den
vorbereiteten Build hoch, und stellen Sie dann genau diesen Build bereit.
Bauen Sie das JavaScript nach dem Upload nicht neu, und ändern Sie es nicht.
Vite-Plugin hinzufügen
Installieren Sie das SDK im Verzeichnis der App:vite.config.js hinzu. Behalten Sie Ihre anderen
Plugins und Build-Einstellungen bei. Ersetzen Sie die Projekt-ID:
minifiedPathPrefix ist die bereitgestellte URL des Build-Verzeichnisses.
Das Plugin hängt den Pfad jeder Datei in diesem Verzeichnis an. Zum Beispiel
wird dist/assets/app.js zu https://app.example.com/assets/app.js.
Liefern Sie den Build unter /web aus, nehmen Sie /web in das Präfix auf.
Nehmen Sie /assets nicht in das Präfix auf.
Ohne die Option upload sendet das Plugin nichts an LogBrew. Außerdem:
- Setzt es
build.sourcemapauf"hidden", wenn Sie den Wert nicht setzen. Haben Sie ihn auffalsegesetzt, ändern Sie ihn auf"hidden". - Behält es Funktionsnamen bei, wenn Sie keine Minifier-Optionen setzen. Setzen Sie eigene Optionen, behalten Sie die Namen dort bei.
Lokal bauen und prüfen
Führen Sie den Produktions-Build aus:sourcesContent und den lokalen Pfad des
App-Stammverzeichnisses. Es schreibt dist/logbrew-release-artifacts.json.
Öffnen Sie das Manifest. Prüfen Sie, dass validation.status gleich ready
ist und dass es die Dateien und bereitgestellten URLs dieses Builds auflistet.
Versteckte Maps lösen die Warnung sourceMappingURL comment missing aus. Diese
Warnung ist zu erwarten.
Laden Sie keine Map hoch, die einen privaten Pfad oder Quelltext enthält, den
Sie nicht teilen wollen. Der Upload enthält auch das kompilierte JavaScript.
Halten Sie deshalb Secrets aus dem App-Bundle heraus.
Prüfen Sie den Upload lokal. Dieser Befehl sendet keine Anfrage und braucht
keinen Schlüssel:
0 endet und
"status": "dry_run" ausgibt. Das prüft die lokalen Dateien und das
Manifest. Den Server testet es nicht. Verwendet Ihr Build ein anderes
Ausgabeverzeichnis, ändern Sie beide Pfade.
Um eine Zuordnung zu prüfen, starten Sie die gebaute App, und kopieren Sie
einen generierten Stackframe mit Datei, Zeile und Spalte:
"status": "resolved" enthält. Das Objekt
original zeigt Quelldatei, Zeile und Spalte. Dieser Befehl läuft lokal und
lädt nichts hoch.
Artefakt-Schlüssel erstellen
Melden Sie sich mit der LogBrew-CLI an. Suchen Sie die Projekt-ID:--abandon-retry.
Ein Artefakt-Schlüssel ist auf das Projekt beschränkt und kann nur schreiben.
Er lädt Source Maps und Debug-Dateien hoch. Er kann keine Telemetrie senden
und keine Artefakt-Metadaten lesen. Verwenden Sie stattdessen keine
Konto-Zugangsdaten und keinen SDK-Schlüssel für die Laufzeit.
Speichern Sie den Schlüssel als LOGBREW_RELEASE_ARTIFACT_TOKEN in den
Secret-Einstellungen Ihrer Build-Umgebung. Geben Sie ihn nicht aus, und
committen Sie ihn nicht. Legen Sie ihn nicht in eine Variable, die im Client
sichtbar ist, zum Beispiel VITE_* oder EXPO_PUBLIC_*.
Setzen Sie die Variable in dem Prozess, der den Upload ausführt. Das
Hilfsprogramm liest keine .env-Dateien. Vite lädt sie während der
Auswertung der Konfiguration
nicht in process.env.
Vorbereiteten Build hochladen
Verwenden Sie dieselben geprüften Dateien und dasselbe Manifest. Dieser Befehl sendet den Upload an LogBrew:"status": "uploaded" zeigt, dass LogBrew den Upload angenommen hat. Endet
der Befehl mit einem Fehler, hören Sie auf, und verwenden Sie die Tabelle
unten.
Das Hilfsprogramm wiederholt einen Netzwerkfehler, 408, 429 oder eine
5xx-Antwort bis zu 2-mal. Es sendet jedes Mal dieselben vorbereiteten
Dateien. Mit --max-retries ändern Sie die Anzahl.
Sobald der manuelle Upload funktioniert, können Sie stattdessen während des
Vite-Builds hochladen. Fügen Sie diese Option zur Plugin-Konfiguration hinzu:
dryRun: true, um ohne
Upload zu testen.
Das Plugin löscht keine Source Maps aus dem Ausgabeverzeichnis. Stellen Sie
keine .map-Dateien und nicht das Manifest auf der öffentlichen Website oder
im CDN bereit.
Um einen Frame aus einem erfassten Issue zuzuordnen, führen Sie
symbolicate-js mit diesem Frame gegen denselben vorbereiteten Build aus.
Neues Issue lesen
Stellen Sie denselben vorbereiteten Build in der Testumgebung bereit. Lösen Sie über Ihren Pfad zur Issue-Erfassung einen sicheren Testfehler aus. Senden Sie für diesen Test keine Nutzereingaben, Zugangsdaten oder rohen Stacks. Suchen Sie das neue Issue mit demselben Projekt- und Build-Kontext:event.stack_frames. Ein Frame mit
source: "symbolicated" hat die ursprüngliche Datei, Zeile und Spalte aus
Ihrem Upload. Ein Frame mit source: "captured" hat die Position, die die App
gesendet hat.
logbrew read issue "<issue_id>" --json liefert außerdem ein Objekt
symbolication. Jeder Frame darin hat einen status: resolved,
artifact_not_found, source_not_resolved, invalid_metadata oder
unavailable. Nur ein Frame mit resolved hat eine ursprüngliche Position.
LogBrew ordnet Frames zu, wenn Sie das Issue lesen. Ein Upload nach dem
Fehler kann ein früheres Ereignis mit derselben Debug ID zuordnen. Ein
zugeordneter Frame zeigt auf Code, den Sie prüfen sollten. Er zeigt nicht,
was den Fehler verursacht hat. Die anderen Felder beschreibt
Issue untersuchen.
Fehlgeschlagene Prüfung beheben
Halten Sie Quelldateien, Schlüssel und private Pfade aus Support-Nachrichten
heraus. Siehe Fehlerbehebung und
API-Fehler.
