我正在将我们的日志实现转换为使用 System.Diagnostics.TraceSource。我们希望利用事件跟踪,并且希望使用 WCF 的 SvcTraceViewer 和 LogParser 等工具从多个服务器读取多个日志文件。
我已将我们的代码转换为使用 TraceSource,现在我正在评估跟踪监听器的性能。最终,我们希望利用 ETW ( etw ),但要迁移到 Windows Server 2008 还需要几个月的时间,因此我们还不能使用 EventProviderTraceListener。
从文档中可以清楚地看出,EventSchemaTraceListener 是性能最好的生成文本文件输出的跟踪监听器。以前,我一直在使用 XmlWriterTraceListener,并且能够使用 SvcTraceViewer 打开由它创建的日志。不幸的是,EventSchemaTraceListener 输出不同的 XML,虽然 SvcTraceViewer 确实打开并转换了文件,但它并没有做得很好,并且重要的字段丢失了(如日志消息的文本)。
在 Vista 和 Windows 7 上,除了 EventViewer 之外,还有其他工具可以读取 EventSchemaTraceListener 创建的日志文件吗? 我希望使用 SvcTraceViewer,因为它在过滤和跟踪事件传输方面做得很好。
我可以编写一个 XSLT 转换来将 XML 转换为 SvcTraceViewer 期望的格式。如果这是唯一的方法,我可能会这样做,但我希望已经有一个工具可以读取 EventSchemaTraceListener 输出的较新格式。
最佳答案
我想你想要的是TraceView .它作为 DDK 的一部分提供。 (不知道为什么它不只是 Platform SDK 的一部分。)
也许不完全是您要查找的内容,但输出 XML 文件的架构称为 event.xsd。您可以通过下载 Platform SDK 来获取它。
关于.net - 哪些日志查看器工具可以读取 System.Diagnostics.EventSchemaTraceListener 创建的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343309/