Se o seu programa estiver registrando sem recriar o arquivo (abrindo-o), você poderá fazê-lo criando o arquivo como um canal:
mkfifo potato.log
Você pode enviar uma mensagem para o pipe como se estivesse escrevendo no arquivo:
$ # This is the logging process:
$ echo "Warning!" > potato.log
E leia-os:
$ # This is the listener process:
$ cat potato.log
Warning!
Se você realmente quiser encaminhar isso para um soquete TCP, poderá fazer algo como:
$ socat PIPE:potato.log TCP:localhost:3000
Pode não ser muito robusto, mas você deve ser capaz de fazer algo mais robusto escrevendo um programa em vez de socat (manipulando desconexões do TCP remoto).
(tudo isso não é necessário se você puder modificar o programa para ter suporte nativo para criação de log baseada em soquete).