EventLog.Delete 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
移除一個日誌資源。
多載
| 名稱 | Description |
|---|---|
| Delete(String, String) |
移除指定電腦中的事件日誌。 |
| Delete(String) |
從本地電腦移除事件日誌。 |
Delete(String, String)
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
移除指定電腦中的事件日誌。
public:
static void Delete(System::String ^ logName, System::String ^ machineName);
public static void Delete(string logName, string machineName);
static member Delete : string * string -> unit
Public Shared Sub Delete (logName As String, machineName As String)
參數
- logName
- String
要刪除的日誌名稱。 可能的值包括:應用程式、安全性、系統,以及指定電腦上的任何自訂事件日誌。
- machineName
- String
要刪除日誌的電腦名稱,或本地電腦的「.」。
例外狀況
範例
以下範例是從指定電腦刪除日誌。 範例從原木來源決定了對數。
Note
可能不只一個來源寫入事件日誌。 在刪除自訂日誌前,請確認沒有其他來源在該日誌中寫入。
using System;
using System.Diagnostics;
using System.Threading;
class MySample
{
public static void Main()
{
string logName;
if (EventLog.SourceExists("MySource", "MyMachine"))
{
// Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", "MyMachine");
// Make sure the source is in the log we believe it to be in.
if (logName != "MyLog")
return;
// Delete the source and the log.
EventLog.DeleteEventSource("MySource", "MyMachine");
EventLog.Delete(logName, "MyMachine");
Console.WriteLine(logName + " deleted.");
}
else
{
// Create the event source to make next try successful.
EventSourceCreationData mySourceData = new EventSourceCreationData("MySource", "MyLog");
mySourceData.MachineName = "MyMachine";
EventLog.CreateEventSource(mySourceData);
}
}
}
Option Explicit On
Option Strict On
Imports System.Diagnostics
Imports System.Threading
Class MySample
Public Shared Sub Main()
Dim logName As String
If EventLog.SourceExists("MySource", "MyMachine") Then
' Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", "MyMachine")
' Make sure the source is in the log we believe it to be in
If (logName <> "MyLog") Then
Return
End If
' Delete the source and the log.
EventLog.DeleteEventSource("MySource", "MyMachine")
EventLog.Delete(logName, "MyMachine")
Console.WriteLine((logName & " deleted."))
Else
' Create the event source to make next try successful.
Dim mySourceData As New EventSourceCreationData("MySource", "MyLog")
mySourceData.MachineName = "MyMachine"
EventLog.CreateEventSource(mySourceData)
End If
End Sub
End Class
備註
當你想刪除的日誌在遠端電腦上時,使用這個方法。 只要你擁有適當的登錄檔權限,就可以刪除電腦上的任何日誌。
Delete從由 logName指定的電腦中移除 的machineName對數。 如果你只想刪除登錄在日誌中的來源,請呼叫 DeleteEventSource。 如果你只想刪除日誌條目,請聯絡 Clear。
Delete 和 DeleteEventSource 是 static 方法,因此可以直接呼叫類別本身。 呼叫任一方法都不需要建立 的 EventLog 實例。
此方法首先刪除存放日誌內容的檔案。 接著它會存取登錄檔,移除該日誌中所有已登記的事件來源。 如果你之後重新建立日誌,應該重新註冊事件來源,以防它們需要重複使用。 如果你沒有註冊事件來源,而其他使用者在未指定日誌名稱的情況下寫入事件來源,事件來源會在應用程式事件日誌中被建立。 因此,先前能寫入你刪除並重建日誌的應用程式,將改寫到應用程式日誌,因為該日誌現在包含事件來源。
Note
重新建立事件記錄可能是一個困難的過程。 避免刪除任何系統產生的事件日誌,例如應用程式日誌。
透過呼叫 Delete 刪除日誌會自動刪除該日誌中註冊的來源。 這可能會使其他使用該日誌的應用程式無法運作。
另請參閱
適用於
Delete(String)
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
- 來源:
- EventLog.cs
從本地電腦移除事件日誌。
public:
static void Delete(System::String ^ logName);
public static void Delete(string logName);
static member Delete : string -> unit
Public Shared Sub Delete (logName As String)
參數
- logName
- String
要刪除的日誌名稱。 可能的值包括:應用程式、安全性、系統,以及電腦上的任何自訂事件日誌。
例外狀況
logName 是空字串(“”)或 null。
範例
以下範例是從本地電腦刪除日誌。 範例從原木來源決定了對數。
Note
可能不只一個來源寫入事件日誌。 在刪除自訂日誌前,請確認沒有其他來源在該日誌中寫入。
using System;
using System.Diagnostics;
using System.Threading;
class MySample1
{
public static void Main()
{
string logName;
if (EventLog.SourceExists("MySource"))
{
// Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", ".");
// Make sure the source is in the log we believe it to be in.
if (logName != "MyLog")
return;
// Delete the source and the log.
EventLog.DeleteEventSource("MySource");
EventLog.Delete(logName);
Console.WriteLine(logName + " deleted.");
}
else
{
// Create the event source to make next try successful.
EventLog.CreateEventSource("MySource", "MyLog");
}
}
}
Option Explicit On
Option Strict On
Imports System.Diagnostics
Imports System.Threading
Class MySample
Public Shared Sub Main()
Dim logName As String
If EventLog.SourceExists("MySource") Then
' Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", ".")
' Make sure the source is in the log we believe it to be in
If (logName <> "MyLog") Then
Return
End If
' Delete the source and the log.
EventLog.DeleteEventSource("MySource")
EventLog.Delete(logName)
Console.WriteLine((logName & " deleted."))
Else
' Create the event source to make next try successful.
EventLog.CreateEventSource("MySource", "MyLog")
End If
End Sub
End Class
備註
當你想刪除的日誌在本地電腦時,使用這個方法。 只要你擁有適當的登錄檔權限,就可以刪除電腦上的任何日誌。
Delete 從本地電腦移除指定的 logName 日誌。 如果你只想刪除登錄在日誌中的來源,請呼叫 DeleteEventSource。 如果你只想刪除日誌條目,請聯絡 Clear。
Delete 和 DeleteEventSource 是 static 方法,因此可以直接呼叫類別本身。 呼叫任一方法都不需要建立新的實例 EventLog 。
此 Delete 方法首先會刪除存放日誌內容的檔案。 接著它會存取登錄檔,移除該日誌中所有已登記的事件來源。 如果你之後重新建立日誌,應該重新註冊事件來源,以防它們需要重複使用。 如果你沒有註冊事件來源,而其他使用者在未指定日誌名稱的情況下寫入事件來源,事件來源會在應用程式事件日誌中被建立。 因此,先前能寫入你刪除並重建日誌的應用程式,將改寫到應用程式日誌,因為該日誌現在包含事件來源。
Note
重新建立事件記錄可能是一個困難的過程。 避免刪除任何系統產生的事件日誌,例如應用程式日誌。
透過呼叫 Delete 刪除日誌會自動刪除該日誌中註冊的來源。 這可能會使其他使用該日誌的應用程式無法運作。