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 群組的成員,系統會將兩個執行階段存取語彙基元 (Token) 指派給您:標準使用者存取語彙基元及管理員存取語彙基元。 根據預設,您會屬於標準使用者角色。 若要執行可存取安全性記錄的程式代碼,您必須先將許可權從標準使用者提升為系統管理員。 您可以在啟動應用程式時,以滑鼠右鍵按一下應用程式圖示,並指出您想要以系統管理員身分執行,藉此提高為系統管理員權限。
類別提供 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) |
方法
適用於
執行緒安全性
此型別具備執行緒安全。