我想解析日志文件中的数据,将其抽入数据库,然后清除日志文件。我可以调节FileSystemWatcher,还是Timer是更好的选择?
我可以使用FileSystemWatcher组件,并监视Change事件,但事件会不停地触发,因为日志文件几乎“不断”被写入。我不想打开/关闭db连接。我目前的直觉是使用一个计时器,然后每隔一段时间(基于时间或基于文件的时间和大小)解析/抽取/清除日志文件。
是否有处理场景(设计模式)的常见方法?
更新:我看到FileSystemWatcher有一个NotifyFilter属性,其中一个filbles是“Size”;我猜测(还没有发现任何验证),任何时候文件的大小改变了1KB就会触发;这将是一个合理的“油门”,如果是真的...
我不想影响编写日志文件的应用程序;他们不需要知道/担心这个解析/泵送/清除。 – 2012-02-08 17:23:14
要求,要求......当我们知道它们是什么时,它总是更容易!无论如何,我相信你有一个更难控制访问日志文件的问题。如果应用程序正在写信给它,你如何清除它? – 2012-02-08 17:24:26
是的,你是对的;我必须重新考虑这个问题/回到编码委员会...... – 2012-02-08 17:52:41