On 09/11/15 15:33, Casper Ti. Vector wrote:
Suppose there are several services, and I want their log (complete or
only those fulfilling certain conditions) to be combined, for example in
the following scenarios:
* Those services are low-volumed (eg. getty's).
* Some important part of these logs are combined to allow a sysadmin to
have a quick impression of alerts (eg. security-related messages from
SSH and VPN).
I understand that daemontools-like frameworks do hard to separate logs
from different services, but I think it is sometimes more pragmatic to
allow controlled mixing of logs. So, is there a neat way to do this,
without using `logger -t $servname' and a syslogd?
There are is more than one way to achieve that goal. I prefer to keep
the separate log dirs and combine the filtered results. My preferred
solution is to redirect the tagged output of the per service logging
services into a combined log through a named pipe to build a logging
forest of loggers connected by (named) pipes. This works but is fragile
because some process could delete the named pipe. If you're running
s6-rc you can use it to setup the pipes without (ab-)using the
filesystem as a namespace to store your pipes.