ETW / Eventsource跟踪到文件(转储)

时间:2015-08-20 08:20:36

标签: c# logging win-universal-app etw

我使用ETW在我的应用程序中进行跟踪。所以我创建了一个自定义EventSourceEventListener

现在我想从客户端使用此跟踪。例如,我希望我的应用程序在应用程序获得未处理的异常时将跟踪日志转储到文件中,这样我就能知道远程发生了什么(所以我想要跟踪转储)。

问题1:ETW是否为此设计(转储)还是仅仅是一个跟踪工具,我必须实现另一个独特的解决方案?

问题2 :(如果问题1 => ETW可以做这些事情)我怎样才能做到这一点?

编辑:这适用于Windows 10 Universal App。

1 个答案:

答案 0 :(得分:2)

您不能在UWP中使用语义记录,因为它与UWP的.NET不兼容。

  

问题1:ETW是否为此设计(转储)或仅仅是跟踪   工具和我必须实现另一个不同的解决方案?

Windows事件跟踪(ETW),顾名思义,它用于事件跟踪。您可以在事件查看器中检查事件详细信息。 转储文件是转储时的应用程序快照。它显示了正在执行的进程以及加载了哪些模块。它不仅限于事件追踪。例如,内核内存转储包含崩溃时内核使用的所有内存。 简介:ETW不是为转储而设计的。

  

问题2 :(如果问题1 => ETW可以做这样的事情)我怎么能   实现这个目标?

如果要记录文件中的所有未处理异常,可以使用ETW执行此操作。 有一个示例显示如何使用ETW(Windows事件跟踪)命名空间将应用程序事件写入应用程序本地存储上的存储文件。虽然它适用于Windows应用商店应用,但您仍然可以在UWP项目中使用源代码(复制MetroEventSource.cs和StorageFileEventListener)。如果要将日志消息发送到远程客户端,则需要实现一个事件侦听器,如UDPEventListener,将消息发送到远程客户端。

Logging Sample for Windows Store Apps (ETW Logging in WinRT)