Você pode criar um fifo
e configurar seu programa para gravar o log dele?
Se sim, crie o fifo e escreva um script de shell simples que leia a partir dele e grave no arquivo de log antes de um registro de data e hora. Algo como:
#!/bin/sh
FIFOFILE=/tmp/program_log.fifo
LOGFILE=/var/log/program.log
mkfifo $FIFOFILE
awk '{printf("%s - %s\n", systime(), $0);}' < $FIFOFILE > $LOGFILE
segunda versão
Se o seu programa faz a rotação do log e exclui periodicamente o fifo, você tem que usar outra maneira.
Você pode usar tail
para monitorar o arquivo de log do programa. Note que a cauda verifica periodicamente o arquivo assim (se você tiver muito azar) você pode perder alguma linha de registro.
#!/bin/sh
PROGRAMLOGFILE=/tmp/program.log
MARKEDLOGFILE=/var/log/program.log
tail -F $PROGRAMLOGFILE \
| awk '{printf("%s - %s\n", systime(), $0);}' \
> $MARKEDLOGFILE