@logbrew/sdk 0.1.28. Ti servono un’app
Vite, l’accesso all’output della sua build e il permesso di creare una chiave
del progetto. Per i file di debug Apple, consulta
Crash e blocchi Apple.
Tieni insieme la build e gli eventi
Usa lo stesso progetto, la stessa release, lo stesso ambiente e lo stesso servizio per il caricamento e per gli eventi di runtime dell’app. Per i nomi delle versioni, consulta Release. Questa guida usaweb@1.2.3, staging e checkout-web.
Cambia la release quando cambia il codice compilato. Carica la build
preparata, poi esegui il deploy di quella stessa build. Dopo il caricamento,
non ricompilarla e non modificarne il JavaScript.
Aggiungi il plugin Vite
Installa l’SDK nella cartella dell’app:vite.config.js. Mantieni gli altri plugin e le
impostazioni di build. Sostituisci l’ID del progetto:
minifiedPathPrefix è l’URL pubblicato della cartella di build. Il plugin
aggiunge il percorso di ogni file in quella cartella. Ad esempio,
dist/assets/app.js diventa https://app.example.com/assets/app.js. Se servi
la build su /web, includi /web nel prefisso. Non aggiungere /assets al
prefisso.
Senza l’opzione upload, il plugin non invia nulla a LogBrew. Inoltre:
- Imposta
build.sourcemapsu"hidden"se non lo imposti tu. Se lo hai impostato sufalse, cambialo in"hidden". - Mantiene i nomi delle funzioni se non imposti opzioni del minificatore. Se imposti opzioni tue, mantieni i nomi anche lì.
Esegui la build e verifica in locale
Esegui la build di produzione:sourcesContent incorporato e il percorso locale della radice
dell’app. Scrive dist/logbrew-release-artifacts.json.
Apri il manifest. Verifica che validation.status sia ready e che il
manifest elenchi i file di questa build e i loro URL pubblicati. Le map
nascoste causano un avviso sourceMappingURL comment missing. Quell’avviso è
previsto.
Non caricare una map che contiene un percorso privato o testo sorgente che non
vuoi condividere. Il caricamento contiene anche il JavaScript compilato,
quindi tieni i segreti fuori dal bundle dell’app.
Verifica il caricamento in locale. Questo comando non invia richieste e non
richiede una chiave:
0 e stampa
"status": "dry_run". Questo controlla i file locali e il manifest. Non testa
il server. Se la tua build usa un’altra cartella di output, cambia entrambi i
percorsi.
Per verificare una mappatura, avvia l’app compilata e copia un frame dello
stack generato con file, riga e colonna:
"status": "resolved". L’oggetto
original mostra file sorgente, riga e colonna. Questo comando gira in locale
e non carica nulla.
Crea una chiave per gli artefatti
Accedi con la CLI di LogBrew. Trova l’ID del progetto:--abandon-retry.
Una chiave per gli artefatti è limitata al progetto e di sola scrittura.
Carica source map e file di debug. Non può inviare telemetria né leggere i
metadati degli artefatti. Non usare al suo posto una credenziale dell’account
o una chiave dell’SDK di runtime.
Salva la chiave come LOGBREW_RELEASE_ARTIFACT_TOKEN nelle impostazioni dei
segreti del tuo ambiente di build. Non stamparla e non farne il commit. Non
inserirla in una variabile visibile dal client, come VITE_* o
EXPO_PUBLIC_*.
Imposta la variabile nel processo che esegue il caricamento. Lo strumento di
caricamento non legge i file .env. Vite non li carica in process.env
durante la
valutazione della configurazione.
Carica la build preparata
Usa gli stessi file e lo stesso manifest che hai verificato. Questo comando invia il caricamento a LogBrew:"status": "uploaded" indica che LogBrew ha accettato il caricamento. Se il
comando termina con un errore, fermati e usa la tabella qui sotto.
Dopo un errore di rete o una risposta 408, 429 o 5xx, lo strumento
riprova fino a 2 volte. Ogni volta invia gli stessi file preparati. Usa
--max-retries per cambiare il numero di tentativi.
Quando il caricamento manuale funziona, puoi invece caricare durante la build
Vite. Aggiungi questa opzione alla configurazione del plugin:
dryRun: true per testare
senza caricare.
Il plugin non elimina le source map dalla cartella di output. Non eseguire il
deploy dei file .map né del manifest sul sito web pubblico o sulla CDN.
Per mappare un frame di un problema acquisito, esegui symbolicate-js con
quel frame sulla stessa build preparata.
Leggi un nuovo problema
Esegui il deploy della stessa build preparata nell’ambiente di test. Provoca un errore di test sicuro attraverso il tuo percorso di acquisizione dei problemi. Per questo test non inviare input degli utenti, credenziali o uno stack grezzo. Trova il nuovo problema con lo stesso contesto di progetto e di build:event.stack_frames. Un frame con source: "symbolicated" ha file, riga e
colonna originali presi dal tuo caricamento. Un frame con
source: "captured" ha la posizione che l’app ha inviato.
logbrew read issue "<issue_id>" --json restituisce anche un oggetto
symbolication. Ogni frame al suo interno ha uno status: resolved,
artifact_not_found, source_not_resolved, invalid_metadata o
unavailable. Solo un frame resolved ha una posizione originale.
LogBrew mappa i frame quando leggi il problema. Un caricamento successivo
all’errore può mappare un evento precedente con lo stesso Debug ID. Un frame
mappato indica il codice da esaminare. Non mostra cosa ha causato l’errore.
Per gli altri campi, consulta
Indaga su un problema.
Risolvi un controllo non riuscito
Non inserire file sorgente, chiavi e percorsi privati nei messaggi al
supporto. Consulta Risoluzione degli errori ed
Errori API.
