Companion project of rcl_logging_syslog, same repository structure and CI flow.
Recorded demo: talker and listener with rcl_logging_journal, filtered live with journalctl. Same video as the README.
Live demo: start talker and listener, switch filters, show -o verbose with trusted fields.
The native socket, not /dev/log. Only libsystemd0 is needed in the image, which every Debian/Ubuntu image has.
The interface is tiny, which is why alternative backends are cheap to write and safe to swap.
rcl_logging_syslog solved the transport problem. The consumption side stayed text.
No text parsing on the daemon side, no second daemon, no re-serialization.
See https://systemd.io/JOURNAL_FILE_FORMAT/ for the details.
Every FIELD=value is an exact match on an indexed field. Same field ORs, different fields AND.
One backend, one socket, one daemon that is already running.
Same trade as rcl_logging_spdlog's buffered file sink. The ceiling stays journald's: ~6-8 us of daemon CPU per record, plus its rate limit.
Same philosophy as RCL_LOGGING_SYSLOG_FACILITY: sane defaults, a few env vars.