将详细级别的事件写入来自C程序的windows-event-log

时间:2018-06-12 12:07:29

标签: c windows windows-services event-log

背景

我有一个用 native C 编写的程序用于windows,它将自己注册为事件发布者并将事件写入windows-event-log。主要目的是能够在 Windows 事件查看器 applciation

中查看这些消息/事件

我遵循基于清单的方法。

使用的参考文献:   - https://kallanreed.wordpress.com/2016/05/28/creating-an-etw-provider-step-by-step   - https://blogs.msdn.microsoft.com/seealso/2011/06/08/use-this-not-this-logging-event-tracing/

我能够使用此方法定义和编写具有级别的事件 - 信息,严重和错误。 但问题是较低级别的事件,例如详细

如果在 ecmangen.exe 中,我创建了一个级别为“win:verbose”的事件,并选择频道为“应用”,那么我会遇到一个错误,如下面的屏幕截图所示 - Error encountered on adding event of level verbose for Application channel

如果我选择与Application不同的通道,让我们说TraceLogging,我在Windows事件查看器应用程序中看不到它。

问题

  • 我们不能将详细事件写入事件查看器吗?
  • 我们是否需要Windows事件查看器以外的工具来读取写入通道' TraceLogging '的事件?如果可以在所有Windows安装上使用该工具?
    • 有关能够编写和读取详细(调试级别)消息的任何建议(理想情况下,这也应该是可配置的)

0 个答案:

没有答案