我必须使用C#在白天监控大型日志文件。一天的大小可达200-300 MB 分析它的最有效方法是什么? 该文件由生产程序锁定。我最好有一个读取,它意识到已添加行或将向后读取。
答案 0 :(得分:3)
MemoryMappedFile
和FileSystemWatcher
的组合可以解决问题。
答案 1 :(得分:2)
使用C#
永远不会取得好成绩。
我在C++
创建了应用,并使用MFC String
来搜索1GB
文件。
它需要 15-20秒。之后我使用char
类型,大约需要 3秒 !!!!
C#
有很多开销,如果您需要真正快速的解决方案,请使用C++
和TCHAR
,char
数据类型。
答案 2 :(得分:0)
将日志轮换更改为较小的值,然后处理轮换的日志 - 或 - 第一次处理整个日志文件,并记住下一个检查间隔的文件偏移/行。