我使用ETW在我的应用程序中进行跟踪。所以我创建了一个定制的EventSource和EventListener。
现在,我想使用来自客户端的跟踪。例如,当应用程序得到未处理的异常时,我希望我的应用程序将跟踪日志转储到一个文件中,这样我就能够远程知道发生了什么(所以我想要一个跟踪转储)。
问题1: ETW是为这个(转储)设计的,还是仅仅是一个跟踪工具,而我必须实现另一个不同的解决方案?
问题2:(如果问题1 => ETW可以做这样的事情)我如何才能做到这一点?
编辑:这是Windows 10通用应用程序。
发布于 2015-08-25 05:29:37
您不能在UWP中使用语义日志,因为它与UWP的.NET不兼容。
问题1: ETW是为这个(转储)设计的,还是仅仅是一个跟踪工具,而我必须实现另一个不同的解决方案?
Windows事件跟踪(ETW),顾名思义,用于事件跟踪。您可以在事件查看器中检查事件详细信息。转储文件是应用程序在转储时的快照。它显示了正在执行的进程和加载了哪些模块。它不限于事件跟踪。例如,内核内存转储包含崩溃时内核使用的所有内存。摘要: ETW不是为转储而设计的。
问题2:(如果问题1 => ETW可以做这样的事情)我如何才能做到这一点?
如果要记录文件中所有未处理的异常,可以使用ETW进行记录。有一个示例演示如何使用ETW (Windows事件跟踪)命名空间将应用程序事件写入应用程序本地存储上的存储文件。虽然它适用于Windows应用程序,但您仍然可以在UWP项目中使用源代码(复制MetroEventSource.cs和StorageFileEventListener)。如果要将日志消息发送到远程客户端,则需要实现像UDPEventListener这样的事件侦听器,将消息发送到远程客户端。
https://stackoverflow.com/questions/32113085
复制相似问题