EventLogTraceListener 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个简单的侦听器,该侦听器将跟踪或调试输出指引至 EventLog。
public ref class EventLogTraceListener sealed : System::Diagnostics::TraceListener
public sealed class EventLogTraceListener : System.Diagnostics.TraceListener
type EventLogTraceListener = class
inherit TraceListener
Public NotInheritable Class EventLogTraceListener
Inherits TraceListener
- 继承
示例
以下示例创建一个跟踪侦听器,用于将输出发送到事件日志。 首先,代码创建一个使用源 myEventLogSource
的新 EventLogTraceListener 。 接下来, myTraceListener
将 添加到集合中 Trace.Listeners 。 最后,该示例向 对象发送一行输出 Listeners 。
int main()
{
#if defined(TRACE)
// Create a trace listener for the event log.
EventLogTraceListener^ myTraceListener =
gcnew EventLogTraceListener( "myEventLogSource" );
// Add the event log trace listener to the collection.
Trace::Listeners->Add( myTraceListener );
// Write output to the event log.
Trace::WriteLine( "Test output" );
#endif
}
// Create a trace listener for the event log.
EventLogTraceListener myTraceListener = new EventLogTraceListener("myEventLogSource");
// Add the event log trace listener to the collection.
Trace.Listeners.Add(myTraceListener);
// Write output to the event log.
Trace.WriteLine("Test output");
Overloads Public Shared Sub Main(args() As String)
' Create a trace listener for the event log.
Dim myTraceListener As New EventLogTraceListener("myEventLogSource")
' Add the event log trace listener to the collection.
Trace.Listeners.Add(myTraceListener)
' Write output to the event log.
Trace.WriteLine("Test output")
End Sub
注解
可以将 的EventLogTraceListener实例添加到 、 Trace.Listeners或 TraceSource.Listeners 集合,Debug.Listeners以将跟踪或调试的输出发送到 EventLog。 可以在代码中添加 实例,或者对于.NET Framework应用,请在应用程序配置文件中指定它。
若要使用 .NET Framework 应用程序配置文件添加 EventLogTraceListener ,请编辑对应于应用程序名称的文件。 在此文件中,插入 System.Diagnostics.EventLogTraceListener 类型的元素。 以下示例将名为 的对象myListener
添加到 EventLogTraceListener 集合。Trace.Listeners 参数 initializeData
指定要传递给 EventLogTraceListener(String) 构造函数的事件日志源的名称。
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="TraceListenerLog" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
注意
Source如果与实例关联的事件日志的 EventLogTraceListener 不存在,则会创建新的事件源。 若要在 Windows Vista、Windows XP Professional 或 Windows Server 2003 中创建事件源,您必须拥有管理特权。
此要求的原因是必须搜索所有事件日志(包括安全性),以确定事件源是否唯一。 在 Windows Vista 中,用户无权访问安全日志;因此将引发 SecurityException。
在 Windows Vista 中,用户帐户控制 (UAC) 决定用户的特权。 如果您是内置的 Administrators 组的成员,将为您分配两个运行时访问令牌:一个标准用户访问令牌和一个管理员访问令牌。 默认情况下,您拥有标准用户角色。 若要执行访问安全日志的代码,必须先将权限从标准用户提升为管理员。 你可以通过以下方式执行此操作:右键单击应用程序图标并指示需以管理员身份运行。
类提供 EventLog 属性来获取或设置接收跟踪或调试输出的事件日志,并提供 Name 用于保存 名称的 EventLogTraceListener属性。
方法 Close 关闭事件日志,使其不再接收跟踪或调试输出。 Write和 WriteLine 方法将消息写入事件日志。
注意
为了避免向事件日志写入大量数据的可能性,不 EventLogTraceListener 输出 由 TraceOutputOptions 属性指定的可选跟踪数据。
构造函数
EventLogTraceListener() |
在没有跟踪侦听器的情况下,初始化 EventLogTraceListener 类的新实例。 |
EventLogTraceListener(EventLog) |
使用指定的事件日志初始化 EventLogTraceListener 类的新实例。 |
EventLogTraceListener(String) |
使用指定的源初始化 EventLogTraceListener 类的新实例。 |
属性
Attributes |
获取应用程序配置文件中定义的自定义跟踪侦听器特性。 (继承自 TraceListener) |
EventLog |
获取或设置要写入的事件日志。 |
Filter |
获取或设置跟踪侦听器的跟踪筛选器。 (继承自 TraceListener) |
IndentLevel |
获取或设置缩进级别。 (继承自 TraceListener) |
IndentSize |
获取或设置缩进的空格数。 (继承自 TraceListener) |
IsThreadSafe |
获取一个值,该值指示跟踪侦听器是否是线程安全的。 (继承自 TraceListener) |
Name |
获取或设置此 EventLogTraceListener 的名称。 |
NeedIndent |
获取或设置一个值,该值指示是否缩进输出。 (继承自 TraceListener) |
TraceOutputOptions |
获取或设置跟踪输出选项。 (继承自 TraceListener) |
方法
适用于
线程安全性
此类型是线程安全的。