EventSource 中的通道名称
Channel name in EventSource
我有一个应用程序正在编写一些 ETW 事件。事件提供程序使用特定名称创建,例如:
[EventSource(Name = "Test-SourceLogger")]
public class EventSourceLogger : EventSource
然后我在这个日志中有各种事件,其中记录了一些数据。此外,日志是通过创建自定义跟踪侦听器的跟踪写入的。该侦听器然后写入事件。
现在,我想在事件查看器中查看这些事件,但找不到它们。基本上,查看器中左窗格选项的 none 显示日志。我搜索了一下,似乎我们在某个地方必须在注册提供者时在检测清单中指定通道。我使用的是 .NET 4.5 框架,因此我不需要显式注册提供程序。
- 是否需要指定频道名称?
- 如何在
如果我没有事件查看器?没有默认频道吗
他们在哪里被推?
- 我尝试通过 perfview 查看事件,我
查看我的应用程序的事件。在转储事件的 xml 时,我明白了
频道属性设置为0。我怎么能看到名字
对应各个频道号?
您需要像这样设置事件属性的频道 属性:
[EventSource(Name = "Samples-EventSourceDemos-EventLog")]
public sealed class MinimalEventSource : EventSource
{
public static MinimalEventSource Log = new MinimalEventSource();
[Event(601, Channel = EventChannel.Admin, Message = "Unhandled exception occurred. Details: {0}", Keywords = EventKeywords.None, Level = EventLevel.Critical)]
private void UnhandledException(string exceptionMsg)
{
this.IsEnabled().Dump();
this.WriteEvent(601, exceptionMsg);
}
}
频道 0 表示 None,请参阅 docs:
Admin 16 The administrator log channel.
Analytic 18 The analytic channel.
Debug 19 The debug channel.
None 0 No channel specified.
Operational 17 The operational channel.
但是,据我所知,您仍然需要注册您的事件源,请参阅 this doc
我有一个应用程序正在编写一些 ETW 事件。事件提供程序使用特定名称创建,例如:
[EventSource(Name = "Test-SourceLogger")]
public class EventSourceLogger : EventSource
然后我在这个日志中有各种事件,其中记录了一些数据。此外,日志是通过创建自定义跟踪侦听器的跟踪写入的。该侦听器然后写入事件。
现在,我想在事件查看器中查看这些事件,但找不到它们。基本上,查看器中左窗格选项的 none 显示日志。我搜索了一下,似乎我们在某个地方必须在注册提供者时在检测清单中指定通道。我使用的是 .NET 4.5 框架,因此我不需要显式注册提供程序。
- 是否需要指定频道名称?
- 如何在 如果我没有事件查看器?没有默认频道吗 他们在哪里被推?
- 我尝试通过 perfview 查看事件,我 查看我的应用程序的事件。在转储事件的 xml 时,我明白了 频道属性设置为0。我怎么能看到名字 对应各个频道号?
您需要像这样设置事件属性的频道 属性:
[EventSource(Name = "Samples-EventSourceDemos-EventLog")]
public sealed class MinimalEventSource : EventSource
{
public static MinimalEventSource Log = new MinimalEventSource();
[Event(601, Channel = EventChannel.Admin, Message = "Unhandled exception occurred. Details: {0}", Keywords = EventKeywords.None, Level = EventLevel.Critical)]
private void UnhandledException(string exceptionMsg)
{
this.IsEnabled().Dump();
this.WriteEvent(601, exceptionMsg);
}
}
频道 0 表示 None,请参阅 docs:
Admin 16 The administrator log channel.
Analytic 18 The analytic channel.
Debug 19 The debug channel.
None 0 No channel specified.
Operational 17 The operational channel.
但是,据我所知,您仍然需要注册您的事件源,请参阅 this doc