CLI telemetry
The evlog CLI records one anonymous wide event per run, so we know which commands people use and which ones error. It is the same telemetry toolkit evlog ships for your own CLIs, pointed at itself.
See what is collected
evlog telemetry status
The command prints whether telemetry is on, where its data directory is, and the full disclosure table — every field, its type, and what it is for. The disclosure is generated from the code that sends the event, so it cannot drift from what actually goes over the wire.
Telemetry: enabled (preference: enabled)
Data directory: ~/.config/evlog-cli/telemetry
What is in an event
One event per run, with the command name, how long it took, whether it succeeded, and the error code when it did not. Alongside that: the Node version, the OS and architecture, whether the run was in CI and on which provider, whether stdout is a TTY, and whether an AI coding agent was driving it.
Flags are recorded as booleans and numbers; string values are recorded as present rather than by value, unless the flag is explicitly allowlisted. The machine id is a hash, and it is omitted entirely in ephemeral CI.
Turn it off
Any one of these is enough:
# persisted preference
evlog telemetry disable
# per-run, or in a shell profile
EVLOG_TELEMETRY=0 evlog map
# the cross-tool standard, respected everywhere
export DO_NOT_TRACK=1
evlog telemetry disable also purges anything that had been queued and not yet delivered. evlog telemetry enable turns it back on.
Inspect before trusting
To see exactly what a run would send, without sending it:
EVLOG_TELEMETRY_DEBUG=1 evlog map
The would-be payload is printed to stderr.
Commands
| Command | What it does |
|---|---|
evlog telemetry status | Current state, data directory, and the full disclosure |
evlog telemetry enable | Enable anonymous usage telemetry |
evlog telemetry disable | Disable it and purge undelivered data |
doctor
Diagnose an evlog setup — Node version, project resolution, the installed evlog version, the detected framework, and whether local logs are being written.
Overview
Wire evlog into your stack — pick a framework integration to capture requests automatically, then pick adapters to ship events to Axiom, Sentry, PostHog, OTLP, and more. Frameworks decide where the logger lives; adapters decide where events go.