Re:Systemd has been a complete, utter, unmitigated success
by thyristan on Friday July 11, 2025 @05:05AM
(#44529917)
journald isn't drop-in because it only saves logs locally. syslog also is a protocol to send your logs to a log-server.
And the usual syslog APIs are 2 lines: Initialize with openlog(stream, process_name, flags) and after that do syslog(urgency, message). That is on par with stderr/stdout, and far simpler than handling your own logfiles. Except if you use log4$yourlanguage or something, then everything is just the same, you just configure a different destination.
And if you can't change your code to not use stdout/stderr, you can easily do yourcode | logger -t yourcode -p daemon.info 2| logger -t yourcode -p daemon.err
If everything on your machine uses syslog, journald is a drop in replacement for the dozen of possible syslogd implementations.