EventProviderTraceListener 类

定义

用来向 ETW 子系统中写入事件的 TraceSource 的侦听器。

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)

  • 起始 (值为 256)

  • 停止 (值为 512)

  • 挂起 (值为 1,024)

  • 转移 (值为 4,096)

构造函数

EventProviderTraceListener(String)

使用指定的提供程序标识符来初始化 EventProviderTraceListener 类的新实例。

EventProviderTraceListener(String, String)

使用指定的提供程序标识符和侦听器名称来初始化 EventProviderTraceListener 类的新实例。

EventProviderTraceListener(String, String, 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)

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

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

实现 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)

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

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

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

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

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

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

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

Write(Object)

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

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

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

(继承自 TraceListener)
Write(String)

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

Write(String, String)

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

(继承自 TraceListener)
WriteIndent()

实现此类时,向所创建的侦听器写入缩进,并将 NeedIndent 属性重置为 false

(继承自 TraceListener)
WriteLine(Object)

实现 TraceListener 类时,向所创建的侦听器写入对象的 ToString() 方法值,后跟行结束符。

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

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

(继承自 TraceListener)
WriteLine(String)

在派生类中被重写时,向在该派生类中所创建的侦听器写入消息,后跟行结束符。

WriteLine(String, String)

实现 TraceListener 类时,向所创建的侦听器写入类别名称和消息,后跟行结束符。

(继承自 TraceListener)

适用于

另请参阅