- Installa il pacchetto SDK per il tuo runtime.
- Tieni la chiave di ingestione del progetto fuori dal controllo di versione.
- Imposta valori stabili per servizio, ambiente e release.
- Invia un evento di test sicuro dall’applicazione.
- Leggi il risultato della consegna. Poi trova l’evento in LogBrew.
Segnali e contesto condiviso
Le prime cinque schede sono segnali. Release e ambiente sono il contesto di quei segnali. Non sono un tipo di evento a sé.log
Un messaggio strutturato con gravità, origine, orario e contesto sicuro.
trace_span
Una singola operazione cronometrata, collegata alla sua traccia tramite gli ID di traccia e di span.
issue
Un errore acquisito, la sua gravità e i dettagli dell’errore inviati dall’app.
action
Un’azione nella tua app, con soggetto, sessione e proprietà sicure facoltativi.
metric
Una singola misura numerica con nome, tipo, valore, unità e temporalità.
release e ambiente
La versione del codice e l’ambiente associati agli eventi successivi nello stesso ambito dell’SDK.
Valori di gravità
Per log e problemi usainfo, warning, error o critical. SDK e runtime
possono inviare alias come trace, debug, warn o fatal. LogBrew
normalizza gli alias accettati nei valori canonici.
Installazione con un gestore di pacchetti
Installa il pacchetto SDK per il runtime che invia la telemetria. Usa la configurazione SDK o di ingestione del progetto fornita da LogBrew. Non usare i valori di accesso dell’account come configurazione dell’SDK.Tracciamento delle richieste in Node.js
Per correlare le tracce a partire dalla radice della richiesta, usa@logbrew/sdk 0.1.16 o successivo e @logbrew/node 0.1.11 o successivo.
Express richiede @logbrew/express 0.1.5 o successivo. Fastify e NestJS
richiedono il rispettivo pacchetto LogBrew alla versione 0.1.6 o successiva.
Queste integrazioni creano o continuano uno span per la richiesta. Il nome
dello span usa il modello della route corrispondente. Log, problemi, azioni e
metriche all’interno della richiesta ereditano il suo contesto di traccia e di
span. Un pacchetto più recente non aggiunge contesto agli eventi inviati prima
dell’aggiornamento.
L’integrazione predefinita per le richieste non acquisisce i corpi di
richiesta o di risposta, le query string, header arbitrari né valori
traceparent grezzi.
ASP.NET Core
La CLI v0.1.55 o successiva rileva i progetti .NET 10 che usanoMicrosoft.NET.Sdk.Web. Visualizza in anteprima il piano di configurazione
dalla radice del progetto. Questo comando non modifica i tuoi file:
LOGBREW_SERVER_API_KEY, LOGBREW_SERVICE_NAME,
LOGBREW_ENVIRONMENT e LOGBREW_RELEASE fuori dal controllo di versione.
Registra LogBrew nell’host e posiziona il suo middleware dopo il routing:
LOGBREW_SERVER_API_KEY, entrambe le chiamate di registrazione non
hanno effetto e non causano errori. Il
pacchetto NuGet ASP.NET Core
identifica l’integrazione con l’host pubblicata. La sua guida pubblica copre
ciclo di vita dell’host, acquisizione delle richieste, acquisizione dei
problemi, limiti di privacy e ripristino.
Java con Maven o Gradle
La CLI v0.1.54 o successiva rilevapom.xml, build.gradle e
build.gradle.kts. Visualizza in anteprima il piano di configurazione dalla
radice del progetto. Questo comando non modifica i tuoi file:
LogBrewClient
gestito dall’app. Il bean attiva integrazioni facoltative per richieste,
eccezioni, client HTTP, JDBC e cache.
L’acquisizione di Spring Kafka va attivata in modo esplicito con
logbrew.kafka.enabled=true. Usa la dipendenza Spring Kafka e il bean client
già presenti nell’applicazione.
L’artefatto dell’SDK Java su Maven Central
identifica il pacchetto pubblicato. La sua guida pubblica copre la consegna
HTTP con limiti, lo spegnimento, il logging, la configurazione di Spring, la
correlazione con Kafka e i limiti di privacy.
C++ con CMake
L’SDK C++ richiede C++17 e CMake 3.16 o successivo. La CLI v0.1.39 o successiva rileva unCMakeLists.txt nella radice. Esegui
logbrew setup --json per vedere in anteprima questo piano di configurazione
senza modificare i tuoi file:
FetchContent_MakeAvailable e il collegamento del target qui sopra con:
logbrew-cpp-0.2.3.tar.gz dalla
release C++ 0.2.3.
Il pacchetto estratto supporta cmake --install e
find_package(LogBrew 0.2.3 CONFIG REQUIRED). La sua guida copre contesto
tipizzato, prove dei problemi, eventi degli span, metriche, azioni e consegna
HTTP.
Source map JavaScript
Per le build Vite, segui Source map JavaScript. La guida copre il plugin, la chiave per artefatti, i controlli del caricamento e un nuovo problema con le posizioni nel codice sorgente originale.Apple, Flask e React Native
Usa il prodotto SwiftLogBrew per la telemetria. Aggiungi LogBrewCrash
solo per acquisire crash o blocchi su Apple. Per il caricamento dei dSYM e la
simbolizzazione ospitata, segui
Acquisisci crash e blocchi Apple.
Per Flask, segui Configura Flask.
Per React Native ed Expo, segui React Native. La
guida copre la chiave del progetto, un log di test sicuro, gli errori di
consegna e la configurazione di Expo Metro per le source map di produzione.
Tracciamento delle code JavaScript
Le integrazioni per le code in Node sono pacchetti npm separati. Installa i pacchetti JavaScript di base di LogBrew, il pacchetto di integrazione e il client della coda o del broker che la tua app usa già.
Usa questi pacchetti per una correlazione delle tracce esplicita, gestita
dall’app, intorno alle chiamate alla coda che scegli. LogBrew non gestisce la
connessione al broker, non crea code e per impostazione predefinita non
modifica globalmente ogni client.
Envelope nativo diretto
UsaPOST /api/telemetry/ingest solo per un client personalizzato che nessun
SDK pubblico di LogBrew supporta. Gli SDK pubblici usano un loro formato di
batch. Questo endpoint non accetta quel formato.
Invia da 1 a 512 elementi in un envelope nativo. Tutti gli elementi di un
envelope condividono progetto, servizio, release, ambiente e l’eventuale
contesto di traccia.
Campi degli elementi
Ogni elemento ha untype e un oggetto data. Un elemento di log usa
level. Un elemento di problema usa severity. Entrambi accettano i valori
indicati in Valori di gravità.
Invia un
id con ogni elemento quando il tuo client può ripetere l’invio.
Quando un nuovo tentativo invia di nuovo un elemento già accettato con lo
stesso id e lo stesso contenuto, LogBrew non lo salva di nuovo. La risposta
conta quell’elemento in already_accepted.
Richiesta di esempio
Salva il JSON qui sotto cometelemetry-envelope.json. Sostituisci l’ID
progetto di esempio con l’ID esatto del progetto della tua chiave di
ingestione. Imposta i timestamp all’ora UTC corrente dell’evento di test. Usa
i tuoi valori di servizio e release.
telemetry-envelope.json
LOGBREW_INGEST_BEARER
tramite la tua configurazione protetta. Non stamparlo e non usare una
credenziale dell’account. Il comando seguente invia il file una volta.
Richiede curl 7.76.0 o successivo:
--fail-with-body conserva il
corpo dell’errore e restituisce un codice di uscita diverso da zero per gli
errori HTTP. Un errore di rete o un timeout non ti dice se LogBrew ha
accettato la richiesta. Invia di nuovo lo stesso file solo se i suoi elementi
hanno valori id. Senza valori id, un secondo invio può salvare gli
elementi due volte.
Risposta
Una richiesta riuscita restituisce200 con il conteggio dei nuovi elementi
per flusso. already_accepted conta gli elementi già consegnati da una
richiesta precedente.
Errori
Una chiave di ingestione non valida o revocata restituisce401. Anche una
chiave di un altro progetto restituisce 401:
422 con codice
validation_failed. Il campo error indica la regola. Il campo next ti
dice come correggere la richiesta. Per esempio, "items": [] restituisce:
422 con l’errore
native telemetry envelope exceeds the item limit. Dividilo in batch di
massimo 512 elementi. Mantieni il progetto e il contesto condiviso in ogni
batch.
Per limiti di utilizzo, limiti di frequenza ed errori del servizio, segui il
code restituito in Errori API.
