.net - 哪些日志查看器工具可以读取 System.Diagnostics.EventSchemaTraceListener 创建的 XML?

标签 .net logging trace trace-listener

我正在将我们的日志实现转换为使用 System.Diagnostics.TraceSource。我们希望利用事件跟踪,并且希望使用 WCF 的 SvcTraceViewer 和 LogParser 等工具从多个服务器读取多个日志文件。

我已将我们的代码转换为使用 TraceSource,现在我正在评估跟踪监听器的性能。最终,我们希望利用 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/

相关文章:

c# - 当字符在 CDATA 中时,为什么 XML 序列化程序会抛出无效字符异常?

python - 使用多处理为每个进程单独记录?

Azure Functions 日志始终为空

java - 无法运行 quartz 调度程序

linux - 用于在 Linux 中跟踪和可视化 pthread 行为的工具

c - 在不修改源代码的情况下在C中显示文件名、行号和函数

c# - 在 ContainerControl C#.NET 中检测鼠标位置

c# - 如何在列表框中选择项目时显示 ContextMenuStrip c# .net

Java RMI 跟踪

c# - 带有 Windows API 代码包的 Windows XP 上的 EntryPointNotFoundException