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 指定的選擇性追蹤數據。
Event |
不使用追蹤接聽項來初始化 EventLogTraceListener 類別的新執行個體。 |
Event |
使用指定的事件記錄檔,初始化 EventLogTraceListener 類別的新執行個體。 |
Event |
使用指定的來源,初始化 EventLogTraceListener 類別的新執行個體。 |
Attributes |
取得在應用程式組態檔中定義的自訂追蹤接聽程式屬性。 (繼承來源 TraceListener) |
Event |
取得或設定要寫入的事件記錄檔。 |
Filter |
取得或設定追蹤接聽程式的追蹤篩選。 (繼承來源 TraceListener) |
Indent |
取得或設定縮排層級。 (繼承來源 TraceListener) |
Indent |
取得或設定縮排的空格數目。 (繼承來源 TraceListener) |
Is |
取得值,指出追蹤接聽程式是否為安全執行緒。 (繼承來源 TraceListener) |
Name |
取得或設定這個 EventLogTraceListener 的名稱。 |
Need |
取得或設定值,指出是否要縮排輸出。 (繼承來源 TraceListener) |
Trace |
取得或設定追蹤輸出選項。 (繼承來源 TraceListener) |
產品 | 版本 |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
此型別具備執行緒安全。