EventProviderTraceListener 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
该 TraceSource 侦听器将事件写入 ETW 子系统。
public ref class EventProviderTraceListener : System::Diagnostics::TraceListener
public class EventProviderTraceListener : System.Diagnostics.TraceListener
type EventProviderTraceListener = class
inherit TraceListener
Public Class EventProviderTraceListener
Inherits TraceListener
- 继承
示例
private static Guid providerId = new Guid("{B3F0C8FC-E8A8-4868-8901-1465E8A2F41B}");
EventProviderTraceListener listener = new EventProviderTraceListener(providerId.ToString(), "Test Listener", "::");
// You should use the All default level and control the level using the
// ETW session; otherwise, you may not log all the events requested by the
// session.
TraceSource source = new TraceSource("MyProvider", SourceLevels.All);
source.Listeners.Add(listener);
source.TraceData(TraceEventType.Warning | TraceEventType.Start, 2, new object[] { "abc", "def", true, 123 });
source.TraceEvent(TraceEventType.Warning, 12, "Provider guid: {0}", new object[] { providerId });
source.TraceInformation("string {0}, bool {1}, int {2}, ushort {3}", new object[] { "abc", false, 123, (UInt32)5 });
注解
源事件中的所有事件数据(跟踪或调试)都以字符串的形式写入 ETW 子系统。 数据元素使用逗号分隔。 若要指定不同的分隔符,请使用该 Delimiter 属性。
添加侦听器以 System.Diagnostics.TraceSource 向 ETW 子系统注册提供程序。 必须使用 Logman.exe 可执行程序(或类似内容)创建 ETW 跟踪会话,才能将事件写入日志文件。
不需要清单来使用来自侦听器的事件,因为事件数据是单个字符串。
调用 System.Diagnostics.TraceSource 方法以写入事件时,传递 System.Diagnostics.TraceEventType 枚举值。 枚举包含级别和关键字值。 从 ETW 会话启用跟踪侦听器提供程序时,指定的级别值可以是与以下 System.Diagnostics.TraceEventType 枚举值之一关联的值:
严重(值为 1)
错误(值为 2)
信息(值为 8)
详细(值为 16)
警告(值为 4)
为会话指定的关键字值可以是与以下 System.Diagnostics.TraceEventType 枚举值之一关联的值:
简历(值为 2,048)
Start (值为 256)
停止(值为 512)
暂停(值为 1,024)
传输(值为 4,096)
构造函数
| 名称 | 说明 |
|---|---|
| EventProviderTraceListener(String, String, String) |
使用指定的提供程序标识符、侦听器的名称和分隔符初始化类的新实例 EventProviderTraceListener 。 |
| EventProviderTraceListener(String, String) |
使用指定的提供程序标识符和侦听器的名称初始化类的新实例 EventProviderTraceListener 。 |
| EventProviderTraceListener(String) |
使用指定的提供程序标识符初始化类的新实例 EventProviderTraceListener 。 |
属性
| 名称 | 说明 |
|---|---|
| Attributes |
获取在应用程序配置文件中定义的自定义跟踪侦听器属性。 (继承自 TraceListener) |
| Delimiter |
获取或设置用于分隔写入 ETW 子系统的事件数据的分隔符。 |
| Filter |
获取或设置跟踪侦听器的跟踪筛选器。 (继承自 TraceListener) |
| IndentLevel |
获取或设置缩进级别。 (继承自 TraceListener) |
| IndentSize |
获取或设置缩进中的空格数。 (继承自 TraceListener) |
| IsThreadSafe |
获取一个值,该值指示跟踪侦听器是否为线程安全。 |
| Name |
获取或设置此 TraceListener名称。 (继承自 TraceListener) |
| NeedIndent |
获取或设置一个值,该值指示是否缩进输出。 (继承自 TraceListener) |
| TraceOutputOptions |
获取或设置跟踪输出选项。 (继承自 TraceListener) |