ratatouille
A zero-dependency Rust crate for best-effort telemetry firehose logging with topic filters, per-topic sequence counters, text or NDJSON formatting, and std-only HTTP/TCP sinks and relays.
Features
- DEBUG-style allow/deny topic filters with
*wildcards - per-topic monotonic local sequence counters
- text and NDJSON output modes
- stdout sink, callback sink, and custom sink trait support
- plain
http://sink plus bounded explicit-flush HTTP relay - plain
tcp://host:portsink plus bounded explicit-flush TCP relay - zero external dependencies beyond Rust std
Quick start
use ;
Transports
HttpSink and HttpRelay are intentionally minimal:
http://only- no TLS
- no background thread
- bounded in-memory relay queue
- explicit
flush_now()for relay batch delivery
TcpSink and TcpRelay are similarly minimal:
tcp://host:portonly- no background thread
- bounded in-memory relay queue
- explicit
flush_now()for relay batch delivery
Notes
- Logging is best-effort telemetry, not an audit trail.
LoggerConfig::default()does not emit anything until a filter is configured.- The shared behavioral contract lives in
contract/cases.tsvin the repository root.