Repository navigation
v0.12.34
v0.12.34 — the Docker source survives a broken events stream
When the connection to Docker's event stream broke (Docker Desktop restarting, a laptop waking from sleep, a socket or tunnel blip), logscry's Docker source ended: the containers it was following stopped streaming, and the only way back was to restart logscry, which re-read every container's history. Since v0.12.11 this was at least reported; now it is handled.
What changed:
- logscry reconnects on its own and keeps following Docker. It asks the daemon to replay the events it missed, re-lists the running containers, and continues each one from the last line it had read, so no line is read twice and none is skipped.
- A container that started during the outage is picked up; one that started and exited during the outage is read to its end.
- Retries back off from 1 s to 30 s and continue for as long as logscry runs. The status bar (and stderr with
--plain) showsdocker: events lost, reconnecting (attempt N, next in Ds): <cause>and thendocker: events reconnected, M container(s) re-attached. - If Docker is unreachable when logscry starts, it still stops at once with the connection error, as before.
- The README's Go badge now reads "go ≥ v1.26.1", the minimum Go version to build.
- Built with go1.26.10.
Measured:
- Live on Docker 29.9.2, cutting the connection mid-run: v0.12.33 delivered 20 of a running container's 102 lines and never saw containers started during the cut; v0.12.34 delivered 102 of 102, all 31 lines of a container started during the cut, and all 5 of one that started and exited during it.
Install: download the binary for your OS from the assets below, or go install github.com/maxie7/logscry/cmd/logscry@latest.
Known limitations:
- A container that starts and exits during an outage longer than Docker's event buffer (its last 256 events), a
--rmcontainer that exits during any outage, and lines written while the Docker daemon itself is down can still be missed. - #155: on a terminal that does not answer the background-colour query, logscry waits 5 s before starting.
- The full list is in the README's Known limitations.
Tracked as #100.