我需要监视模式的日志文件。日志文件不断由应用程序写入。
我不想重新发明轮子。我正在寻找一个Java API。我写了一个程序来读取文件并放入一个30秒睡眠循环,但这不符合所有标准。
答案 0 :(得分:4)
您可以考虑查看apache commons io类,特别是Tailer / TailerListener类。见http://www.devdaily.com/java/jwarehouse/commons-io-2.0/src/main/java/org/apache/commons/io/input/Tailer.java.shtml。
答案 1 :(得分:2)
这两个API可能会有所帮助:
Read here what it is capable of
JNotify是一个java库,允许java应用程序监听文件系统事件,例如:
创建文件
文件已修改
文件已重命名
文件已删除
答案 2 :(得分:2)
如果您正在使用Log4j,或者可以将其集成,则可以将日志输出附加到方便的对象,例如StringBuffer,因为在此相关问题中已对此进行了讨论:{ {3}}
答案 3 :(得分:1)
看起来类似:Implementation of Java Tail
基本上你使用BufferedReader。跟踪你离开的地方将是你必须添加的东西,也许捕获最后一行读取?
同样的问题引用了JLogTailer,它看起来很有趣,并且可以完成你想要的大部分工作。