为了账号安全,请及时绑定邮箱和手机立即绑定

在Go中更新日志文件时读取它们

在Go中更新日志文件时读取它们

Go
慕码人2483693 2021-04-26 12:47:29
我正在尝试解析一些用Go语言编写的日志文件,但是我不确定如何在不进行检查更改的情况下一次又一次地重新读取该文件来实现此目的。我希望能够读到EOF,等到下一行写完后再读到EOF,依此类推。感觉有点像tail -f外观。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

您必须监视文件是否有更改(使用特定于操作系统的子系统来完成此操作),或者定期对其进行轮询以查看其修改时间(和大小)是否已更改。无论哪种情况,在读取另一数据块之后,您都将记住文件偏移,并在检测到更改后在读取另一数据块之前将其还原。

但是请注意,这似乎仅在纸上似乎很容易:在现实生活中,文件可能会被截断,替换或重命名(因为这logrotate是应该使用的工具)。

有关此问题的更多讨论,请参见此问题。


查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信