EventProviderTraceListener 类

定义

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
继承
EventProviderTraceListener

示例

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)

方法

名称 说明
Close()

关闭输出流,使其不再接收跟踪或调试输出。

CreateObjRef(Type)

创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放该 TraceListener命令使用的所有资源。

(继承自 TraceListener)
Dispose(Boolean)

释放由托管资源使用 TraceListener 的非托管资源,并选择性地释放托管资源。

(继承自 TraceListener)
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
Fail(String, String)

向实现 TraceListener 类时创建的侦听器发出错误消息和详细的错误消息。

Fail(String)

向实现 TraceListener 类时创建的侦听器发出错误消息。

(继承自 TraceListener)
Flush()

刷新输出缓冲区。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetSupportedAttributes()

获取跟踪侦听器支持的自定义属性。

GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

将跟踪信息、数据对象和事件信息写入侦听器特定的输出。

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

将跟踪信息、数据对象和事件信息写入侦听器特定的输出。

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

将跟踪信息、格式化的对象数组和事件信息写入侦听器特定的输出。

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

将跟踪信息、消息和事件信息写入侦听器特定的输出。

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

将跟踪和事件信息写入侦听器特定的输出。

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

将跟踪信息、消息、相关活动标识和事件信息写入侦听器特定的输出。

Write(Object, String)

将类别名称和对象 ToString() 方法的值写入实现 TraceListener 类时创建的侦听器。

(继承自 TraceListener)
Write(Object)

将对象 ToString() 方法的值写入实现 TraceListener 类时创建的侦听器。

(继承自 TraceListener)
Write(String, String)

将类别名称和消息写入实现 TraceListener 类时创建的侦听器。

(继承自 TraceListener)
Write(String)

在派生类中重写时,将指定的消息写入在派生类中创建的侦听器。

WriteIndent()

将缩进写入实现此类时创建的侦听器,并将属性重置 NeedIndentfalse

(继承自 TraceListener)
WriteLine(Object, String)

将类别名称和对象 ToString() 方法的值写入实现 TraceListener 类时创建的侦听器,后跟行终止符。

(继承自 TraceListener)
WriteLine(Object)

将对象 ToString() 方法的值写入实现 TraceListener 类时创建的侦听器,后跟行终止符。

(继承自 TraceListener)
WriteLine(String, String)

将类别名称和消息写入实现 TraceListener 类时创建的侦听器,后跟行终止符。

(继承自 TraceListener)
WriteLine(String)

在派生类中重写时,将消息写入在派生类中创建的侦听器,后跟行终止符。

适用于

另请参阅