Skip to content

Logging and Observability

Umboni logs in JSON lines so the same log stream is easy to read in plain text, grep, Loki, or any downstream log system.

Log files

  • Python fetcher logs default to artifacts/logs/python-fetcher.log.jsonl
  • Fortran engine logs default to artifacts/logs/fortran-simulator.log.jsonl

Why JSON lines

JSON lines are useful because:

  • Each line is self-contained.
  • Tools like Loki and jq can parse them easily.
  • They are still readable in a normal text editor.

Local observability stack

The repository includes a ready-to-run Grafana, Loki, and Promtail stack in observability/docker-compose.yml.

Example command

docker compose -f observability/docker-compose.yml up -d

What you get

  • Promtail tails the JSON-line log files.
  • Loki stores those log lines.
  • Grafana gives you a visual query interface.