You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(box): log processor tails console.log instead of stopping at first EOF
run_json_file_processor (and the syslog processor) used `for line in
reader.lines()`, whose iterator ENDS at EOF. The `Err(_) => sleep` arm only
catches I/O errors, never EOF — so the processor read console.log once, hit EOF,
and exited, silently DROPPING every line a container logged after the initial
quiet period (the `// EOF — poll for more data` comment shows tailing was
intended but not implemented).
Replace with a shared `tail_next_line` helper that polls on Ok(0) (true EOF)
like `tail -f` and accumulates partial lines (no trailing newline yet) across
reads so they aren't split into two records. Applied to the json-file and both
syslog (udp/tcp) processors. Unit-tested for complete-line extraction + CRLF
trim.
NOTE: this fixes the processor LOOP. A separate, deeper bug remains: for
detached `run -d`, the processor is a spawn_blocking task in the ephemeral CLI
process and dies when it detaches, so container.json is still truncated until
the processor is moved to a box-lifetime process (shim/monitor). console.log
itself is always complete. Tracked for a follow-up.
0 commit comments