如何防止事件检索的损失,而从事件日志读取?

问题描述 投票:0回答:1

我使用EventLogWatcher类(因为它是建议作为最快的方法从事件日志读取)读取新写入的事件。比方说,我有大小2MB的命名CustomEventLog1事件日志。我有一个应用程序编写一共有20000个事件此日志,当日志文件大小达到最大值已设置Overwrite events as needed

现在,我开始写的事件,观察者明显滞后的阅读速度和事件迷路。

让我来告诉它如何发生的;当应用程序写说(1000th entry),观察者仍然在读的500th entry所以当观察者来读the2000th entry,写应用程序已经与4000th entry取代它。

所以1999th entry后,我得到4000th entry。当应用程序完成后书写20000 events,观察者只拿到12020 entries,其余丢失。

有没有什么办法来解决此问题?我知道增加日志文件的大小会就去做,但是有什么办法来实现这一目标而不增加日志的大小和不降低写入速度。

c# winapi event-log system.diagnostics
1个回答
-1
投票

你想干什么重写而不会增加日志大小,并降低写入速度,而你也想读已覆盖日志,你不能​​兼得。但是你可以设置logsize >= 20000,并删除该事件已被读取之后,使日志的大小将被保存到最大程度。

© www.soinside.com 2019 - 2024. All rights reserved.