Каков наиболее эффективный способ чтения файла журнала в Java? - PullRequest
1 голос
/ 05 октября 2009

Какой самый эффективный (быстрый и безопасный) способ чтения файла журнала в Java? Файл журнала постоянно (почти каждую секунду) обновляется.

Ответы [ 6 ]

2 голосов
/ 05 октября 2009

Похоже, что Apache JMeter (с открытым исходным кодом, дружественное лицензирование) имеет некоторые классы, которые вы можете повторно использовать , которые анализируют журналы доступа Tomcat. Внутренне эти классы используются в JMeter для Access Log Sampler , который представляет собой инструмент, который имитирует производственный трафик в средах разработки путем анализа журналов доступа и генерации HTTP-запросов к веб-серверу разработки на основе журналов. Вероятно, вы можете использовать только функции разбора журнала для своих собственных целей.

1 голос
/ 05 октября 2009

Мне очень повезло с бензопилой .

1 голос
/ 05 октября 2009

Предполагая, что вы говорите о серверных журналах, вы можете посмотреть на существующий инструмент, например Splunk .

.
1 голос
/ 05 октября 2009

Сложно, и зависит от многих переменных, но вы можете взглянуть на BufferedReader и посмотреть, делает ли то, что вам нужно.

http://java.sun.com/j2se/1.4.2/docs/api/java/io/BufferedReader.html

0 голосов
/ 07 марта 2013

Если вы хотите привязать определенный файл, вы можете посмотреть на Tailer . Этот класс будет работать как для Windows, так и для * nix систем. Вы должны быть осторожны при чтении файла в Windows, потому что большинство программ ротации журналов будут пытаться переименовать файл. Если вы удерживаете блокировку этого файла, переименование будет неудачным.

Если вы ищете управление каталогом с файлами журналов, было бы неплохо поискать Самый эффективный способ привязать / опросить файл журнала в Java

0 голосов
/ 06 октября 2009

Если вы просто хотите следить за выводом, то tail -f foobar.log работает хорошо. Если вы работаете на компьютере с Windows, он доступен с Cygwin. http://www.cygwin.com/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...