【问题标题】:Putting XML Data into the Windows Event Log将 XML 数据放入 Windows 事件日志
【发布时间】:2010-10-24 06:20:33
【问题描述】:

如何将 XML 数据写入 Windows 事件日志?

我注意到有一种方法可以将 XML 插入到 Windows 事件日志中(而不是仅仅将其填充到描述中)。效果是您在 Windows Vista 上的 General 视图中只获得了您的描述消息。您可以在 Details 视图中查看您的 XML 数据。

如果您选择Friendly 单选按钮,它将出现在Event Data 节点下。如果您选择 XML 视图,那么您将看到 XML。

我认为EventLog.WriteEntry() 方法中的 rawData 字节数组可以让我这样做。我尝试将 XMLWriter 的输出填充到其中。这会将数据放入事件日志中,但它被视为二进制而不是 XML。

【问题讨论】:

    标签: c# .net xml event-viewer


    【解决方案1】:

    Windows SDK (ver 6.1) 中有一个名为 EventProvider 的示例。
    它是一个使用新的事件日志 API (AKA crimson) 的 C# 提供程序(需要 Vista 和更高版本)。
    此示例展示了如何添加自定义数据(金额其他内容)。

    【讨论】:

    • 该链接现在返回 404
    【解决方案2】:

    除非我弄错了,否则为了将 xml 写入 Crimson/Vista 事件日志,您将创建并注册一个清单,该清单将为您提供适当的通道和事件。然后你必须使用Message Compiler (mc.exe) in the WindowsSDK 编译清单。

    然后,如果您想从 C# 记录,您将需要创建一个托管提供程序来包装事件记录 API。这有点困难,因为您必须使用 PInvoke 才能访问 API。

    有关于如何完成整个过程的博客文章here

    【讨论】:

      猜你喜欢
      • 2019-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 2012-02-27
      相关资源
      最近更新 更多