我正在尝试解析一些用Go语言编写的日志文件,但是我不确定如何在不进行检查更改的情况下一次又一次地重新读取该文件来实现此目的。我希望能够读到EOF,等到下一行写完后再读到EOF,依此类推。感觉有点像tail -f外观。
3 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
您必须监视文件是否有更改(使用特定于操作系统的子系统来完成此操作),或者定期对其进行轮询以查看其修改时间(和大小)是否已更改。无论哪种情况,在读取另一数据块之后,您都将记住文件偏移,并在检测到更改后在读取另一数据块之前将其还原。
但是请注意,这似乎仅在纸上似乎很容易:在现实生活中,文件可能会被截断,替换或重命名(因为这logrotate
是应该使用的工具)。
有关此问题的更多讨论,请参见此问题。
- 3 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消