Required envelope fields
Item types
log
severity, message, source, attributes, occurred_attrace_span
trace_id, span_id, name, operation, started_at, duration_msissue
severity, title, message, stack_trace, fingerprint,
occurred_ataction
name, distinct_id, session_id, properties, occurred_atSeverity values
Useinfo, warning, error, or critical for logs and issues. SDKs and
runtimes may send common aliases such as trace, debug, warn, or fatal,
but LogBrew normalizes accepted aliases to the canonical values.
Package-manager installs
Install the SDK package for the runtime that sends telemetry. Use project-scoped SDK or ingest configuration from LogBrew; do not use account login values as SDK configuration.C++ with CMake
The C++ SDK requires C++17 and CMake 3.16 or newer. CLI v0.1.39 or newer detects a rootCMakeLists.txt and prints this non-mutating setup plan with
logbrew setup --json:
FetchContent_MakeAvailable call and
target link above with:
logbrew-cpp-0.2.3.tar.gz asset from the
C++ 0.2.3 release.
The extracted package supports cmake --install and
find_package(LogBrew 0.2.3 CONFIG REQUIRED).
See the
C++ SDK guide
for typed context, issue evidence, span events and links, metrics, actions,
and HTTP delivery.
Use the LogBrew Swift product for telemetry. Add LogBrewCrash only for
explicit Apple crash or hang capture. Follow
Capture Apple crashes and hangs for exact
dSYM upload and hosted symbolication.
For Flask, follow Set up Flask for one-call initialization,
the first hosted request, privacy defaults, worker lifecycle, and CLI readback.
React Native hosted delivery
Use@logbrew/react-native 0.1.7 or newer. Give the app a project-scoped,
write-only ingest key. Expo includes every EXPO_PUBLIC_* value in the app
bundle, so never put an account or server credential in that variable.
CLI v0.1.32 or newer can store a new SDK key for an existing project without
creating a duplicate project:
EXPO_PUBLIC_LOGBREW_CLIENT_KEY; do not use the account credential that
authorized the CLI command.
Keep Expo Debug IDs in production bundles
Use@logbrew/react-native 0.1.8 or newer for Expo release bundles. Create the
Expo Metro config through LogBrew so the runtime bundle receives the same final
Debug ID as the Expo source map:
withLogBrewMetroConfig() to an Expo config. That wrapper is for bare React
Native projects. If an Expo project uses it, the production serializer stops
with a message that points to getLogBrewExpoConfig() instead of creating a
bundle with mismatched symbolication data.
Supplying the fetch transport enables the core SDK’s bounded automatic
delivery, retry, queue, and pause behavior. Do not add a second flush timer.
The AppState listener requests a final flush when the app becomes inactive or
enters the background. Call stopAppStateListener() during app teardown.
A successful flush proves that the HTTPS intake accepted the batch. Confirm
event visibility separately with the authenticated CLI:
RecordingTransport.alwaysAccept() is for local inspection. Its synthetic
202 response does not send a network request and does not prove hosted
delivery.
JavaScript queue tracing
Node queue integrations are separate npm packages. Install the base LogBrew JavaScript packages, the integration package, and the queue or broker client your app already uses.
Use these packages for explicit, app-owned trace correlation around the queue
calls you choose. LogBrew does not own your broker connection, create queues, or
globally patch every client by default.
Example request
Keep the project-scoped ingest value separate from account or browser-session credentials. These names are local shell variables for the request below:telemetry-envelope.json
