我们目前正在研究更换系统上的日志记录。在许多地方,我们已经在使用常规的 EventLog API,如果事件源不存在,它会自动创建事件源。
我想知道将我们的代码转换为正确使用 EventSources 而不是仅使用常规 EventLog API(非常易于使用)有多少好处。这值得做吗?
我们希望实现日志记录(我们希望了解单个成功/错误/信息/警告状态事件)和跟踪。
最佳答案
Eventlog 是从 Vista 开始的内部 ETW(仅供引用)。
对于跟踪事件日志没有帮助。您会使事件日志 float ,其中包含太多条目。使用 Eventsource,只有在您收听数据(xperf、WPR、PerfView)时才会发送数据,因此这不会影响性能。
如果您仍然需要事件日志条目,您还可以使用 EventSource 写入事件日志。
微软发布了NuGet Package of Microsoft EventSource Library几周前。
微软在这里解释了如何使用它:
<强> Announcing the EventSource NuGet Package – Write to the Windows Event Log
使用 Eventsource 时,您可以获得 also adding Kernel providers with xperf/WPR like CPU or DISK and you can see how your application impacts the system 的巨大好处.
关于logging - 与常规 EventLog API 相比,使用 ETW EventSources 有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921406/