In my mind I would need to:
- process the output from the fifo by prepending a tag,
- move the processed output to stdin where s6-log can pick it up
 If you read your logs from a fifo, then it's easy: use the
integrated pipe mechanism in s6-svscan. Your "logging service",
say foo-log, would read from the fifo and prepend the lines
with a tag, then pipe its data to the foo-log/log service
(a "logger for your logging service") which would perform the
logging per se.

 Something like:

foo-log/run:

#!/usr/bin/execlineb -PW
 redirfd -rnb 0 /var/run/itrp/foo-log-fifo
 s6-format-filter "foo: %s"


foo-log/log/run:

#!/usr/bin/execlineb -PW
s6-envdir /var/run/s6/container_environment
importas -is S6_LOGGING_SCRIPT S6_LOGGING_SCRIPT
s6-log -bp -- ${S6_LOGGING_SCRIPT} /var/log/foo


 If you're already reading your logs from the integrated
pipe instead of a fifo (i.e. your logging service is foo/log)
then you can modify your service layout to reduce to the
former case.

 I hope to be able to work on a new s6-overlay format next
year, using s6-rc, which makes those "log pipelines" easy to
set up.

 Hope this helps,

--
 Laurent

Reply via email to