Файл журнала хвоста Java и отображение его в jsp

Я хотел бы отображать содержимое файла журнала на странице jsp (как часть функциональности веб-приложения - нельзя использовать другое автономное веб-приложение). Я ищу что-то похожее на функциональность unix tail -f. Я посмотрел на Apache Commons Tailer и TailerListenerAdapter. Однако TailerListenerAdapter имеет дескриптор метода (строковая строка), который бесполезен, если вы хотите увидеть вывод в веб-браузере. Существуют и другие решения, такие как чтение файла и последующий опрос файла на наличие нового содержимого. Но это потребовало бы слишком большого количества операций ввода-вывода в цикле. В идеале я хотел бы сохранить содержимое (скажем, 2000 строк), а затем отобразить его на странице jsp. Я мог бы использовать вызов AJAX, скажем, каждые 100 мс и обновить данные в пользовательском интерфейсе.


person Anand    schedule 18.04.2014    source источник
comment
Это также может быть дубликатом этого: stackoverflow.com/questions/11345387/   -  person DrLivingston    schedule 18.04.2014


Ответы (1)


Вы можете держать файловый поток открытым и продолжать чтение с того места, где вы находитесь, либо с неблокирующим вводом-выводом (чтобы вы не блокировали, если нет данных), либо вы можете проверить, был ли файл изменен, прежде чем читать () с использованием блокирующего ввода-вывода.

Если вы не хотите оставлять поток открытым, вы можете легко снова открыть его и перейти через skip() в правильное положение.

person nablex    schedule 18.04.2014
comment
Если вы продолжите читать, вы в конце концов наткнетесь на eof, и на этом все. Вам, по крайней мере, нужно будет использовать aRandomAccessFile. - person Harald; 18.04.2014