Environment variables that configure logging, tracing, and error reporting.
Observability is configured entirely through environment variables read at startup. No manifest changes or recompilation are required. For what is instrumented and why, see Observability.
The agent writes structured JSON logs to stdout.
| Variable | Default | Description |
|---|---|---|
LOG_LEVEL | info | Log filter. Accepts a level such as debug or target directives such as info,opentelemetry=off. |
Target directives apply across subscriber layers, including stdout and Sentry. Export selection is configured separately.
The agent exports selected signals over OTLP/HTTP to configured endpoints.
| Variable | Default | Description |
|---|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT | none | Common base URL for signal export. |
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT | none | Complete trace export URL. Overrides the common endpoint for traces. |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT | none | Complete metric export URL. Overrides the common endpoint for metrics. |
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT | none | Complete log export URL. Overrides the common endpoint for logs. |
OTEL_TRACES_EXPORTER | otlp | Trace exporter selection: otlp or none. |
OTEL_METRICS_EXPORTER | otlp | Metric exporter selection: otlp or none. |
OTEL_LOGS_EXPORTER | otlp | Log exporter selection: otlp or none. |
APP_ENV | production | Deployment environment attached to OTLP resource attributes. |
The common base URL gains /v1/traces, /v1/metrics, or /v1/logs for each selected signal.
Signal-specific URLs are used as provided.
Each signal requires an endpoint and an otlp selection to export. none disables that signal's
export. Without any endpoints, remote export is disabled while stdout logging remains available.
Empty variables use their defaults. Exporter selections are case-insensitive. Unsupported selections return a startup error.
The service name is the agent name from the manifest, baked in at compile time.
Error tracking via Sentry catches and reports unhandled errors and panics. When SENTRY_DSN is not
set, Sentry is not initialised and has no runtime overhead.
| Variable | Default | Description |
|---|---|---|
SENTRY_DSN | none | Your Sentry DSN. When set, Sentry is initialised automatically at startup. |
APP_ENV | production | Environment tag attached to all Sentry events, for example production or staging. |
The release version reported to Sentry is the agent version from the manifest, baked in at compile time.
© 2026 pogue.dev. All rights reserved.
CC BY 4.0