Estou desenvolvendo um sistema que vai registrar todas as ações do usuário em um log de texto, e no painel de administração haverá uma opção para monitoramento do log.
Já sei como ler o arquivo, até ai tudo certo.
Consigo ler cada linha e mostrar no console, mas no final do arquivo o processo termina, e retornar para o método de chamada.
Gostaria de saber se há como manter o arquivo monitorado.
A ideia é que a cada nova linha adicionada o console seja atualizado, um funcionamento básico como o tail do linux, porem no console do próprio sistema.
A minha questão é como manter o método aguardando uma nova linha no final do arquivo.
Para utilizar esta classe, basta instanciar ela passando o arquivo e uma implementação da interface br.eti.rogerioaguilar.minhasclasses.util.tail.listener.LogListener, que será notificada sobre as alterações que ocorrerem no arquivo:
contém exemplos sobre como isso pode ser feito.
Para parar a thread que fica monitorando o arquivo, basta setar a flag continuar (setContinuar(false)) da instância da classe ThreadTail criada. A classe TailJanela faz isso também.
Até mais.
aix
kadu.m.lino:
Não tem como!
se vc só tem essa opcao, vc vai ter q ler o arquivo novamente…
pq não salvar no banco?
ou publicar em uma fila(redis http://redis.io/)… e o seu admin consumir essa fila?
ué, e porque não? não seria só pode deixar o processo dentro de uma thread ?
ezequiellorenzatti
rogeriopaguilar agradeço por compartilhar o código, vou estudar o funcionamento e ver se ele se adapta ao que eu preciso.