Logging operations¶
This page is operational guidance for collecting and using podCI logs.
For the format contract, see Reference → Logging.
Choosing a format¶
For interactive use:
podci run --job default --log-format human
For CI ingestion:
podci run --job default --log-format jsonl
If you want JSONL by default for a shell session:
export PODCI_LOG_FORMAT=jsonl
Capturing logs¶
Human mode¶
Human mode is meant for a terminal. If you redirect it, you may lose operator hints that are easiest to read with color.
JSONL mode¶
Redirect to a file and ingest it:
podci run --job default --log-format jsonl > podci.jsonl
Per-step stdout/stderr (authoritative)¶
podCI captures each step’s stdout and stderr into the run directory under XDG state:
- default state dir:
~/.local/state/podci/ - per-run directory:
runs/<run_id>/ - per-step logs:
runs/<run_id>/logs/<step>.stdoutruns/<run_id>/logs/<step>.stderr
These files are the right place to look when Podman output is large or when the CLI truncates error summaries.
The run manifest includes the relative paths (Operations → Manifests).
Log level escalation¶
Use RUST_LOG to raise verbosity:
RUST_LOG=podci=debug,podci_podman=debug podci run --job default
If you are collecting logs for triage, include:
- the full JSONL output (if used)
- the run manifest
- the failing step’s
*.stdout/*.stderr