parsing - 解析事件日志文件

标签 parsing logging

寻求一些帮助来开始我已经在脑海中浮现了一段时间的小项目。

我的日志文件大小各不相同,具体取决于它们清理的频率,从 50-500MB 不等。我想编写一个程序来监视日志文件,同时主动写入日志文件。在使用时,它的更改速度非常快,每秒大约几百行。大多数(如果不是全部)我看到的用于读取日志/文本文件的示例只是简单地打开并将文件内容读取到一个变量中,这在这种情况下每次文件更改时都不太可行。我还没有确定用什么语言来写这个,但它是在一个 Windows 盒子上,我可以在 .net flavors/java/或 php 中工作(嘿,不认为 php 会为此而飞得很好),并且可能会混淆另一个如果有人对处理此问题的良好构建有建议,请使用语言。

从本质上讲,我相信我正在寻找的东西可能会更好地描述为一种高速方式来监视文本文件的变化并查看这些变化是什么。写的每一行都比较小。 (少于 300 个字符,因此每行数据不大)。

编辑:更改措辞以希望更好地描述我正在尝试做的事情。这是编写一个程序来关注触发器的日志文件,然后将后续操作与该触发器相匹配。所以我的问题是关于编程语言中的文件处理。

我非常感谢任何想法/评论。

最佳答案

如果它是增量的,那么您可以在第一次开始分析日志时读取整个文件,然后将当前大小保持为 n。下次您检查(可能是检查上次修改日期的定时操作)时,只需跳过前 n 个字节,读取所有新字节并更新大小。

否则,您可以通过获取其标准输出并将其用于您的目的来使用 tail -f..

关于parsing - 解析事件日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956199/

相关文章:

python - 解析列中包含列表的 CSV

parsing - 解析空行之间的数字数组

python - 如何格式化扭曲的日志?

c# - 在 Windows 服务程序中记录事件

c - 是否有任何工具可以为有效的 C 程序生成报告

parsing - PDF 页面组件(解析、字体、图形等)的渲染时间

mysql - 如何摆脱sql数据库中不需要的文本?

ruby-on-rails - 在 Rails 记录器中包含参数/请求信息?

logging - Sensu 日志文件越来越大

java - 是否有适用于所有类(而非接口(interface))的 AspectJ TypePattern?