devlogbus-journal-bridge streams Linux systemd-journald records into any
DevLogBus broker endpoint.
It is Linux-only. On macOS and Windows it returns a clear unsupported-platform error.
Start the daemon:
devlogbusd run
Bridge new journal records:
devlogbus-journal-bridge run --since now
Tail the last 100 journal entries and keep following:
devlogbus-journal-bridge run --tail 100
Publish available entries and exit:
devlogbus-journal-bridge run --tail 100 --once
Publish to a broker on another trusted machine:
devlogbus-journal-bridge run --endpoint tcp://devbox:7422 --since now
Endpoint options match the Go client and CLI:
/tmp/devlogbus/devlogbus.sock
unix:/tmp/devlogbus/devlogbus.sock
127.0.0.1:7422
tcp://127.0.0.1:7422
Filter journal input with repeated --match FIELD=VALUE values:
devlogbus-journal-bridge run \
--match _SYSTEMD_UNIT=billing.service \
--match PRIORITY=3 \
--since 10m
The bridge chooses source names from journal fields in this order:
_SYSTEMD_UNIT
SYSLOG_IDENTIFIER
_COMM
Override or extend that order:
devlogbus-journal-bridge run \
--source-field SYSLOG_IDENTIFIER \
--source-field _SYSTEMD_UNIT \
--source journald
--source is the fallback when no source field is available.
The bridge skips its own service records by default to avoid feedback loops. Additional units and identifiers can be excluded:
devlogbus-journal-bridge run \
--exclude-unit noisy.service \
--exclude-identifier healthcheck
By default, the bridge publishes a selected subset of useful journal fields as record attributes, including cursor, timestamps, priority, unit, identifier, PID, executable, command line, transport, and code location fields.
Include all available fields:
devlogbus-journal-bridge run --all-fields
Use --all-fields carefully; journal entries can contain noisy or sensitive
fields.
Print forwarded records locally while publishing:
devlogbus-journal-bridge run --echo
The bridge keeps a persistent publisher connection. If publishing fails, it
closes the publisher and retries on later records. Repeated publish failures are
rate-limited in logs by --reconnect-log-window.