【问题标题】:What log viewer tools can read the XML created by System.Diagnostics.EventSchemaTraceListener?哪些日志查看器工具可以读取 System.Diagnostics.EventSchemaTraceListener 创建的 XML?
【发布时间】:2011-01-21 13:08:04
【问题描述】:

我正在将我们的日志记录实现转换为使用 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 的新格式输出。

【问题讨论】:

    标签: etw .net logging trace trace-listener


    【解决方案1】:

    认为你想要的是TraceView。它作为 DDK 的一部分提供。 (不知道为什么它不只是平台 SDK 的一部分。)

    也许不是您要查找的内容,但输出 XML 文件的架构称为 event.xsd。您可以通过下载 Platform SDK 来获得它。

    【讨论】:

      【解决方案2】:

      非常肯定希望 Windows 事件查看器 (eventvwr.exe) 可以读取这些文件。

      当您从事件查看器另存为 XML 时,它使用相同的架构命名空间 <Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>

      但问题是我还没有找到在事件查看器中成功重新打开它们的方法。它尝试导入它们但给出错误。如果我发现更多信息会回来报告...

      【讨论】:

        【解决方案3】:

        请查看网站 www.xpolog.com。我想你会明白的。

        【讨论】:

        • 谢谢。看起来很有希望,但我希望使用 WCF 的 svctraceviewer 或 logparser 等免费工具。
        【解决方案4】:

        你试过Microsoft Log Parser吗?

        引用下载页面:

        日志解析器是一个功能强大的多功能工具,它提供对基于文本的数据(例如日志文件、XML 文件和 CSV 文件)以及 Windows® 操作系统上的关键数据源(例如事件日志)的通用查询访问,注册表、文件系统和 Active Directory®。

        请注意,我(目前)还不是这个工具的用户——对此的评估已经在我的 TODO 列表中列出了一段时间。

        鉴于它看起来几乎可以处理任何 XML 文件格式,我相信它会满足您的需求。

        【讨论】:

          【解决方案5】:

          虽然我知道这并不能准确回答您的问题,但我认为您应该看看 Log4Net。很多项目都使用了这个日志框架并取得了巨大的成功。它非常易于使用,并且非常易于扩展和免费软件。

          【讨论】:

          • 我知道它没有回答这个问题 - 我在回复中说过。我只是认为使用 Log4Net 检测您的程序集可能是一种更好的方法,至少值得考虑。
          • 问题提到“来自多个服务器的多个日志文件”,我猜这意味着他们正在使用 WCF 服务跟踪查看器的相关功能(跨层关联跟踪)——log4net 所做的事情 (直接)支持。
          猜你喜欢
          • 2019-07-16
          • 1970-01-01
          • 2023-03-24
          • 2022-08-17
          • 1970-01-01
          • 1970-01-01
          • 2013-04-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多