在java中读取日志文件的最有效方法是什么?

时间:2009-10-05 16:44:55

标签: java logging file-io

在java中读取日志文件的最有效(快速和安全)方法是什么?连续(几乎每秒)日志文件都会更新。

6 个答案:

答案 0 :(得分:2)

看起来Apache JMeter(开源,友好许可)有一些classes that you may be able to reuse来解析Tomcat访问日志。在内部,这些类在JMeter中用于Access Log Sampler,这是一种通过解析访问日志并基于日志生成对开发Web服务器的HTTP请求来模拟开发环境中的生产流量的工具。您可以根据自己的目的重复使用日志解析功能。

答案 1 :(得分:1)

Tricky,并且取决于许多变量,但您可能需要查看BufferedReader并查看是否满足您的需求。

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

答案 2 :(得分:1)

假设您正在讨论服务器日志,那么您可能希望查看现有工具,例如Splunk

答案 3 :(得分:1)

Chainsaw我真的很幸运。

答案 4 :(得分:0)

如果你只想跟随输出,那么“tail -f foobar.log”效果很好。如果您使用的是Windows机器,则可以使用Cygwin。 http://www.cygwin.com/

答案 5 :(得分:0)

如果要拖尾特定文件,可以查看Tailer。这个类适用于windows和* nix系统。在Windows中读取文件时应该小心,因为大多数日志轮换程序会尝试重命名该文件。如果您对该文件保持锁定,则重命名将失败。

如果您正在考虑使用日志文件管理目录,那么查找Most efficient way to tail/poll a log file in Java

是一件好事。