如何实现高性能的对Log文件的Tail?

leonzhao 2004-10-22 10:39:18
类似于tail -f这样的命令,如何在Java里面高效实现?我搜过几个Open Source的tail,都性能不理想。

因为我需要一个程序去tail 50M-200M的日志文件。

有何建议,请指教。
...全文
407 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leonzhao 2004-10-23
  • 打赏
  • 举报
回复
难得我发个散分的帖子……

没能人要啊…………

变成无差别散分好了。
onlyxu 2004-10-23
  • 打赏
  • 举报
回复
更正:\换成/
onlyxu 2004-10-23
  • 打赏
  • 举报
回复
用nio中文件至内存映射,处理大文件效率极高

int TOADD_LENGTH=1000;
FileChannel fc = new FileInputStream("C:\demo.log").getChannel();
ByteBuffer cb = fc.map(FileChannel.MapMode.READ_WRITE,fc.size(),TOADD_LENGTH);
cb.put("added content".getBytes());
youthy_yy 2004-10-22
  • 打赏
  • 举报
回复
不会,友情up
LDH202 2004-10-22
  • 打赏
  • 举报
回复
自己编程序实现啦,如果你需要的功能别人提供不了的话

不过也有点奇怪为什么会有这么大的单日志文件,建议如果是这样,还不如用一个简单数据库来存储日志
zhigangxie 2004-10-22
  • 打赏
  • 举报
回复
建议使用 RandomAccessFile
leonzhao 2004-10-22
  • 打赏
  • 举报
回复
那么怎么编程实现?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧