使用ETW EventSources和常规EventLog API有什么优势?

我们目前正在调查取代我们系统的日志记录。 在许多地方,我们已经使用了常规的EventLog API,如果其中一个不存在,它会自动创建事件源。

我想知道将代码转换为正确使用EventSources的好处,而不是仅使用常规EventLog API(这非常容易使用)。 这值得做吗?

我们希望实现这两种日志记录(我们想知道单个成功/错误/信息/警告状态事件)以及跟踪。


Eventlog是从Vista开始的内部ETW(仅供参考)。

跟踪事件日志没有帮助。 你会浮动事件日志与太多的条目。 随着Eventsource的数据不会发送,直到你听他们(xperf,WPR,PerfView),所以这不会影响性能。

如果您仍然需要Eventlog条目,则还可以使用EventSource写入Eventlog。

几周前微软发布了一个Microsoft EventSource库的NuGet包。

微软在这里解释如何使用它:

宣布EventSource NuGet包 - 写入Windows事件日志

使用Eventsource时,您可以通过像CPU或DISK这样的xperf / WPR添加内核提供程序来获得巨大的好处,您可以看到应用程序如何影响系统。

链接地址: http://www.djcxy.com/p/90859.html

上一篇: What are the advantages of using ETW EventSources versus regular EventLog API?

下一篇: .Net 4.5 EventSource ETW provider not showing up in provider list