Logs
Firecube logs to stderr. Command output, including JSON manifests and table output, goes to stdout.
Format
JSON logs are the default:
Use plain logs for local debugging:
Default JSON log fields:
When a log line is emitted inside an active trace span, trace_id and span_id
are populated. Use those fields to join logs with traces in your observability
backend.
Logging Environment Variables
Common settings:
FIRECUBE_LOG_FORMAT=json|plaincontrols structured or plain output.FIRECUBE_LOG_LEVEL=INFOsets the root logging level.FIRECUBE_LOG_STRUCTURED_FIELDS=...changes the JSON fields.FIRECUBE_DEBUG=trueenables DEBUG logs for Firecube namespaces without enabling every third-party library.
Firecube ignores generic LOG_LEVEL, LOG_FORMAT, and
LOG_STRUCTURED_FIELDS; use the FIRECUBE_ names.
Progress Logs
--option no_progress=true suppresses coarse pipeline progress messages:
uv run firecube ingest <plugin> \
--source /data/source \
--target file:///data/products/MY_PRODUCT.zarr \
--product-name MY_PRODUCT \
--storage-type local \
--storage-driver fsspec \
--output-format zarr \
--write-mode direct \
--option no_progress=true
It does not suppress all INFO logs. Direct parallel Zarr evidence logs are still emitted because they are operational evidence, not progress noise.
Plugin Logging Rules
Plugins must not configure logging handlers (basicConfig, dictConfig,
addHandler, setLevel). Firecube CLI configures logging before plugin code
runs. See Plugin Observability for
the full logging boundary.
Next Steps
- Metrics — end-of-run metrics and Pushgateway setup
- Traces — OTLP setup and span names
- Observability Reference — complete observability surface