我有两个想法。首先,我以为我读取了该文件,删除了它,并且日志记录最终会重新创建它(我错了)。第二次尝试时,我想我应该制作该文件的副本,并在一段时间后将副本与原始文件进行比较。你怎么认为?第二种方法是一个好的选择吗?如果是这样,有效比较文件的好方法是什么?在我看来,这会非常低效,因为我必须读取一个大日志文件两次并逐行比较......
我也对其他方法感兴趣。
带有轮询的东西并不理想,这应该是我用 crontab 调用的工作。
感谢您的帮助。
最佳答案
如果您运行的平台使用 systemd
,您可以使用 journalctl
命令。
journalctl
命令有一个非常强大的 --since
选项
您可以使用它来获取特定时间后的日志:
journalctl --since "2018-10-08 13:00:00"
查看不同时间之间的日志
journalctl --since "2018-10-08 13:00:00" --until "2018-10-08 13:30:00"
或者N次前
journalctl --since "10min ago"
要查看特定应用程序日志,请使用-u
选项
journalctl -u tomcat.service --since "1 hr ago"
引用文献:
关于python - 如何从Linux日志文件中只获取新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743879/