s6-linux-utils
Software
skarnet.org
 The s6-logwatch program 
s6-logwatch watches the current file of a logdir, printing it
in real time.
 Interface 
     s6-logwatch [ -m buflen ] logdir
 -  s6-logwatch prints logdir/current and watches
the file. 
-  logdir must be managed by a
s6-log instance. 
-  When new logs are appended to the current file, s6-logwatch prints
them in real-time to stdout. 
-  When a rotation happens, s6-logwatch notices, and keeps watching the
new current file. 
-  s6-logwatch runs forever until killed. 
 Options 
 -  -m buflen : accumulate at most buflen
bytes into the stdout buffer before flushing it. By default, buflen is
4000. 
 Bugs 
 -  s6-logwatch is not entirely reliable because there is an unavoidable
race condition when a rotation occurs; it's a hack for humans to keep reading
logs across rotations, not a tool to be used in safe programming. When the
race condition is triggered, s6-logwatch will be unable to understand what
state logdir is in and will exit 101 with an error message. 
-  Specific support in the logger program would be needed to avoid this
race condition; it would significantly bloat the logger program, so it has
not been deemed useful. 
 Notes 
 -  s6-logwatch is Linux-specific because it uses the
inotify interface.