- Installeer het SDK-pakket voor je runtime.
- Houd de projectgebonden ingest-sleutel buiten versiebeheer.
- Stel vaste waarden in voor service, omgeving en release.
- Verzend één veilig testevent vanuit de applicatie.
- Lees het afleverresultaat. Zoek daarna het event in LogBrew.
Signalen en gedeelde context
De eerste vijf kaarten zijn signalen. Release en omgeving zijn context voor die signalen. Ze zijn geen apart eventtype.log
Een gestructureerd bericht met ernst, bron, tijd en veilige context.
trace_span
Eén bewerking met een gemeten duur, via trace- en span-ID’s gekoppeld aan de
trace.
issue
Een vastgelegde fout, de ernst ervan en de foutdetails die de app heeft
verzonden.
action
Een actie in je app, met optioneel een subject, een sessie en veilige
eigenschappen.
metric
Eén numerieke meting met een naam, soort, waarde, eenheid en temporaliteit.
release en omgeving
De codeversie en omgeving die worden gekoppeld aan latere events binnen
dezelfde SDK-scope.
Ernstwaarden
Gebruikinfo, warning, error of critical voor logs en issues. SDK’s en
runtimes kunnen aliassen verzenden, zoals trace, debug, warn of fatal.
LogBrew zet geaccepteerde aliassen om naar de canonieke waarden.
Installeren met een pakketbeheerder
Installeer het SDK-pakket voor de runtime die telemetrie verzendt. Gebruik de projectgebonden SDK- of ingest-configuratie uit LogBrew. Gebruik geen inloggegevens van je account als SDK-configuratie.Request-tracing in Node.js
Gebruik voor tracecorrelatie vanaf de root van het request@logbrew/sdk
0.1.16 of nieuwer en @logbrew/node 0.1.11 of nieuwer.
Express vereist @logbrew/express 0.1.5 of nieuwer. Fastify en NestJS
vereisen hun LogBrew-pakket in versie 0.1.6 of nieuwer.
Deze integraties maken één request-span aan of zetten die voort. De spannaam
gebruikt het herkende routetemplate. Logs, issues, acties en metrics
binnen het request erven de trace- en spancontext van het request. Een nieuwer
pakket voegt geen context toe aan events die vóór de upgrade zijn verzonden.
De standaardintegratie voor requests legt geen request- of responsebody’s,
querystrings, willekeurige headers of ruwe traceparent-waarden vast.
ASP.NET Core
CLI v0.1.55 of nieuwer herkent .NET 10-projecten dieMicrosoft.NET.Sdk.Web
gebruiken. Bekijk het installatieplan vooraf vanuit de hoofdmap van het
project. Deze opdracht wijzigt je bestanden niet:
LOGBREW_SERVER_API_KEY, LOGBREW_SERVICE_NAME,
LOGBREW_ENVIRONMENT en LOGBREW_RELEASE in buiten versiebeheer. Registreer
LogBrew bij de host en plaats de middleware van LogBrew na de routing:
LOGBREW_SERVER_API_KEY doen beide registratieaanroepen veilig niets.
Het NuGet-pakket voor ASP.NET Core
is de uitgebrachte hostintegratie. De openbare handleiding van het pakket
behandelt de levenscyclus van de host, het vastleggen van requests en issues,
privacygrenzen en herstel.
Java met Maven of Gradle
CLI v0.1.54 of nieuwer herkentpom.xml, build.gradle en
build.gradle.kts. Bekijk het installatieplan vooraf vanuit de hoofdmap van
het project. Deze opdracht wijzigt je bestanden niet:
LogBrewClient-bean
aanbieden. Die bean schakelt optionele integraties in voor requests,
exceptions, de HTTP-client, JDBC en de cache.
Vastleggen via Spring Kafka schakel je expliciet in met
logbrew.kafka.enabled=true. Het gebruikt de bestaande Spring Kafka-dependency
en client-bean van de applicatie.
Het artefact van de Java-SDK op Maven Central
is het uitgebrachte pakket. De openbare handleiding behandelt begrensde
aflevering via HTTP, afsluiten, logging, Spring-configuratie, Kafka-correlatie
en privacygrenzen.
C++ met CMake
De C++-SDK vereist C++17 en CMake 3.16 of nieuwer. CLI v0.1.39 of nieuwer herkent eenCMakeLists.txt in de hoofdmap. Voer logbrew setup --json uit om
dit installatieplan vooraf te bekijken zonder je bestanden te wijzigen:
FetchContent_MakeAvailable en de targetkoppeling hierboven door:
logbrew-cpp-0.2.3.tar.gz uit de
C++ 0.2.3-release.
Het uitgepakte pakket ondersteunt cmake --install en
find_package(LogBrew 0.2.3 CONFIG REQUIRED). De handleiding van het pakket
behandelt getypeerde context, issuebewijs, span-events, metrics, acties en
aflevering via HTTP.
Source maps voor JavaScript
Volg voor Vite-builds Source maps voor JavaScript. Die handleiding behandelt de plug-in, de artefactsleutel, controles van de upload en een nieuw issue met de oorspronkelijke bronlocaties.Apple, Flask en React Native
Gebruik het Swift-productLogBrew voor telemetrie. Voeg LogBrewCrash alleen
toe om crashes of vastlopers op Apple-platforms vast te leggen. Volg
Apple-crashes en vastlopers
voor het uploaden van dSYM’s en gehoste symbolisatie.
Volg voor Flask de handleiding Flask.
Volg voor React Native en Expo React Native. Die
handleiding behandelt de projectsleutel, een veilige testlog, afleverfouten en
de Expo Metro-configuratie voor source maps in productie.
Queue-tracing in JavaScript
Integraties voor queues in Node zijn aparte npm-pakketten. Installeer de basispakketten van LogBrew voor JavaScript, het integratiepakket en de queue- of brokerclient die je app al gebruikt.
Gebruik deze pakketten voor expliciete tracecorrelatie die je app zelf beheert,
rond de queue-aanroepen die je kiest. LogBrew beheert je brokerverbinding
niet, maakt geen queues aan en patcht standaard niet elke client globaal.
Directe native envelop
GebruikPOST /api/telemetry/ingest alleen voor een eigen client die niet door
een openbare LogBrew-SDK wordt ondersteund. Openbare SDK’s gebruiken hun eigen
batchformaat. Dit endpoint accepteert dat formaat niet.
Verzend 1 tot 512 items in één native envelop. Alle items in één envelop delen
het project, de service, de release, de omgeving en de optionele
tracecontext.
Itemvelden
Elk item heeft eentype en een data-object. Een logitem gebruikt level.
Een issue-item gebruikt severity. Beide accepteren de waarden in
Ernstwaarden.
Verzend bij elk item een
id als je client nieuwe pogingen kan doen. Verzendt
een nieuwe poging een geaccepteerd item opnieuw met dezelfde id en inhoud?
Dan slaat LogBrew het niet opnieuw op. De response telt dat item in
already_accepted.
Voorbeeldrequest
Sla de JSON hieronder op alstelemetry-envelope.json. Vervang het
voorbeeld-ID van het project door het exacte project-ID van je ingest-sleutel.
Zet de tijdstempels op de huidige UTC-tijd van het testevent. Gebruik je eigen
waarden voor service en release.
telemetry-envelope.json
LOGBREW_INGEST_BEARER. Toon de waarde niet en gebruik geen toegangsgegevens
van je account. De volgende opdracht verzendt het bestand één keer. Daarvoor is
curl 7.76.0 of nieuwer nodig:
--fail-with-body bewaart de body van een fout
en geeft bij HTTP-fouten een exitstatus die niet nul is. Een netwerkfout of
time-out vertelt je niet of LogBrew het request heeft geaccepteerd. Verzend
hetzelfde bestand alleen opnieuw als de items id-waarden hebben. Zonder
id-waarden kan een tweede verzending de items twee keer opslaan.
Response
Een geslaagd request geeft200 terug met het aantal nieuwe items per stream.
already_accepted telt items die een eerder request al heeft afgeleverd.
Fouten
Een ongeldige of ingetrokken ingest-sleutel geeft401. Een sleutel voor een
ander project geeft ook 401:
422 met code
validation_failed. Het veld error noemt de regel. Het veld next vertelt
hoe je het request herstelt. "items": [] geeft bijvoorbeeld:
422 met de fout
native telemetry envelope exceeds the item limit. Splits de envelop op in
batches van maximaal 512 items. Houd het project en de gedeelde context in
elke batch.
Volg bij gebruikslimieten, rate limits en storingen van de service de
teruggegeven code in API-fouten.
