The s6-socklog program

s6-socklog is a minimal syslog daemon. It reads datagrams from the /dev/log Unix domain socket, or from a Unix domain or Internet domain socket of the user's choice, converts the encoded syslog facility and priority names to their human-readable equivalents, and prints the logs to its stdout.

s6-socklog is a reimplementation of the socklog program with a few more features.


     s6-socklog [ -d notif ] [ -r ] [ -U | -u uid -g gid -G gidlist ] [ -l linelen ] [ -t lameducktimeout ] [ -x unixsocket | -i ipport ]

Exit codes


s6-socklog reacts to the following signals:


Typical use

s6-socklog can be paired with s6-log to implement syslogd functionality. s6-socklog acts as the frontend: it reads the log lines and processes them, then pipes them to an s6-log instance that acts as the backend, i.e. sorts the log lines depending on regular expressions that typically involve the facility and priority names, then stores them into the filesystem.

The pipe between s6-socklog and s6-log is typically a logging pipe automatically provided by s6-svscan when the s6-log instance is declared as a logger service for the s6-socklog instance.

The examples/ subdirectory of the s6 package contains a turnkey syslogd service that implements this pattern.