Se você não souber o nome do arquivo antecipadamente:
- decide um nome de arquivo, como
foo.log
- assista esse arquivo:
tail -F foo.log
(não importa se foo existe ou não)
- use uma ferramenta para assistir ao diretório para alterações de arquivo e executar um comando
Para o comando:
- mova o novo arquivo para sobrescrever foo.log
mv the_new_file_which_appeared foo.log
(se o registro do aplicativo for aberto uma vez, isso funcionará bem)
- ou apenas symlink:
ln -s the_new_file_which_appeared foo.log
- e a cauda deve pegar isso.
Para observar corretamente os diretórios (etapa 3), você precisa de uma ferramenta inteligente e configurável.
Pessoalmente, eu usaria Guarda com o Guard :: Process .
Na prática, o Guard não é muito mais pesado do que usar shell scripts (é uma camada fina no inotify no Linux), e é tudo muito rápido e fácil de configurar.