EventLog.Log 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定要讀取或寫入的事件記錄檔的名稱。
public:
property System::String ^ Log { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public string Log { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Log { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Log { get; set; }
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Log { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.Log : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Log : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Log : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.LogConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Log : string with get, set
Public Property Log As String
屬性值
記錄檔的名稱。 可以是應用程式、系統、安全性或者自訂的記錄檔名稱。 預設為空字串 ("")。
- 屬性
範例
下列範例會在本機計算機上讀取事件記錄檔 「NewEventLog」 中的專案。
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
EventLog^ myNewLog = gcnew EventLog;
myNewLog->Log = "NewEventLog";
System::Collections::IEnumerator^ myEnum = myNewLog->Entries->GetEnumerator();
while ( myEnum->MoveNext() )
{
EventLogEntry^ entry = safe_cast<EventLogEntry^>(myEnum->Current);
Console::WriteLine( "\tEntry: {0}", entry->Message );
}
}
using System;
using System.Diagnostics;
class MySample{
public static void Main(){
EventLog myNewLog = new EventLog();
myNewLog.Log = "NewEventLog";
foreach(EventLogEntry entry in myNewLog.Entries){
Console.WriteLine("\tEntry: " + entry.Message);
}
}
}
Imports System.Diagnostics
Class MySample
Public Shared Sub Main()
Dim myNewLog As New EventLog()
myNewLog.Log = "NewEventLog"
Dim entry As EventLogEntry
For Each entry In myNewLog.Entries
Console.WriteLine((ControlChars.Tab & "Entry: " & entry.Message))
Next entry
End Sub
End Class
備註
伺服器上預設存在三個記錄檔:應用程式、系統和安全性。 應用程式和服務會使用應用程式記錄檔。 設備驅動器會使用系統記錄檔。 當稽核開啟時,系統會在安全性記錄檔中產生成功和失敗稽核事件。 如果您已安裝其他應用程式,例如 Windows 伺服器上的 Active Directory,可能會有其他預設記錄檔。 此外,您可以在本機或遠端電腦上建立自訂記錄檔。 自訂記錄有助於以比元件將事件寫入預設應用程式記錄檔時所允許更詳細的方式來組織您的專案。
注意
記錄檔名稱限制為八個字元。 根據系統,MyLogSample1 和 MyLogSample2 是相同的記錄檔。
如果您寫入事件記錄檔,則不足以指定 Log 屬性。 您必須將 Source 屬性與您的事件記錄檔資源產生關聯,才能將它連線到特定的記錄檔。 在只從記錄檔讀取時,不需要指定 Source ,但事件來源必須與伺服器登錄中的事件記錄資源相關聯。 您只能 Log 指定要讀取的名稱和 MachineName (伺服器電腦名稱) 。
注意
如果您連線到記錄檔,則不需要指定 MachineName 。 如果您未指定 MachineName,本機計算機 (“。”假設 ) 。
Source如果尚未指定屬性,則Log如果 尚未透過設定 Log 屬性或透過建構函式) 明確設定 (,則呼叫 Log 會傳回空字串。 Source如果已指定 ,Log則會傳回註冊該來源的記錄檔名稱。
來源一次只能註冊到一個記錄檔。 如果的Source實例EventLog已設定 屬性,則您無法在不變更 的值Source或先呼叫 DeleteEventSource 的情況下變更Log該 EventLog 屬性。 如果您在設定 屬性之後Source變更 Log 屬性,寫入記錄專案會擲回例外狀況。
作業系統會將事件記錄檔儲存為檔案。 當您使用 EventLogInstaller 或 CreateEventSource 建立新的事件記錄檔時,相關聯的檔案會儲存在指定計算機上的 %SystemRoot%\System32\Config 目錄中。 檔名是藉由附加屬性的前 Log 8 個字元加上 「.evt」 擴展名來設定。
您無法單獨使用 Log 屬性來建立新的記錄檔 (,而不需指定記錄檔) 的來源。 您可以呼叫 CreateEventSource,並傳入新的記錄檔名稱做為參數,然後呼叫 DeleteEventSource。 不過,意圖通常是建立 (和寫入專案,以) 新的應用程式特定記錄,或從現有的記錄檔讀取。
Log如果值變更,則會關閉事件記錄檔,並釋放所有事件句柄。