我正在生成一个日志文件,我想要的是我想要定期读取数据,而不必每次都从头开始读取。任何人都可以帮忙。
答案 0 :(得分:4)
打开文件并有一个循环,
您可以使用FileInputStream或RandomAccessFile。
答案 1 :(得分:1)
如果要运行程序以定期读取日志文件,则可以使用 Quartz Scheduler之类的调度程序定期运行它。
答案 2 :(得分:1)
使用unix命令'tail',选项'-f'和'-F'用于同一个命令也非常方便。
请点击此处http://www.thegeekstuff.com/2009/08/10-awesome-examples-for-viewing-huge-log-files-in-unix/查看示例,或直接查看示例。
答案 3 :(得分:0)
RandomAccessFile是一个不错的选择。如果您离开申请表,您必须在离开前坚持上次阅读的地方,以避免重读信息。
另一方面,对于繁重的事件流,日志文件往往会变得非常大。旋转日志文件将允许您将问题转移到文件命名。您可以将系统配置为每天生成一个日志文件,如下所示:app_access.2011-11-28.log,
app_access.2011-11-29.log,
app_access.2011-11-30.log,
...
如果您获得的文件仍然非常大,您可以按日期和时间轮换它们,您还可以将小时作为文件名的一部分。然后,您的文件可以每三小时甚至每小时轮换一次。这将为您提供更多日志文件,但它们会更小,因此更容易处理。您要查找的日期和时间范围将是文件名的一部分。
您还可以按文件大小进行旋转。如果您选择最大文件大小,您可以避免完全随机访问一个巨大的文件。