Hello, On Tue Oct 25, 2022 at 14:19 UTC, Ihor Antonov wrote:
> I am trying to figure out if I can set up svscan catchall logger in such > a way that it prepends a service name to every log line, so that it can > be clear where the log came from. Service dirs are made for this. s6-log does not know the name of service - it just writes data from stdin to log directory, appending timestamps and handling rotation. > I am trying to avoid s6-rc setup where I need to explicitly create a > matching logger service. Having logger per service is the intended pattern for s6/s6-rc. This sets s6 logging framework apart from syslog and systemd-journald. s6 overview[1] and s6-log documentation[2] describes why logging is designed this way. And, again, s6-rc v1 and s6-frontend will make this easier. I am looking forward for them too. > Today I do this: > > s6-svscan $S6_RC_DIR | s6-log -- t s16777216 n64 > $HOME/.local/log/svscan As Laurent stated in the previous thread, do not do that. s6-svscan is not meant to be run in the terminal. > @400000006356da4b2cb3ba0a - a timestamp? Yes, this is a TAI64N timestamp. TAI64N is a reliable way to store timestamps[3], since it does not have leap seconds and does not suffer from problems like Y2K and Y2038. Also, these timestamps are easily machine-readable. If you want to read a log file with TAI64N timestamp, you can pipe it through s6-tai64nlocal program: cat $LOGDIR/current | s6-tai64nlocal | less Also, s6-log supports writing ISO 8601 timestamps, see s6-log documentation[2] for details. [1] https://skarnet.org/software/s6/overview.html [2] https://skarnet.org/software/s6/s6-log.html [3] http://skarnet.org/software/skalibs/libstddjb/tai.html --- Best regards, Peter