If all your services support logging to stdout/stderr you can get away without 
a syslog service. Instead of a single logging service consuming logs from all 
other services s6 is designed to connect each long running service with its own 
tiny dedicated logging service.

 To add to this: it is likely that you *still* need a kind of syslogd,
because chances are that not all daemons on your systems have been
patched/configured/... to write to stderr instead of using syslog().
So, just in case, you should probably have a syslogd running, to
catch everything that still uses syslog() - and potentially help you
reconfigure the relevant daemons to use stderr instead. When there
is nothing left in your syslogd output, you can remove the syslogd

 The stock syslogd from your distribution will do just fine.

 Optional, advanced stuff if you'd rather use something more
s6-idiomatic than your stock syslogd: download socklog.

 socklog's documentation says it was made to work with runit, but it
will work with s6 as well. What it does is listen to the /dev/log
socket, convert the syslog priority to text, and just send the log
message to its stdout. So you can process that output via s6-log just
like you would with any other service running under s6, and have it
stored and automatically rotated just like any other service, without
the need for logrotate.


Reply via email to