EventLog.Delete 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
移除記錄檔資源。
多載
Delete(String, String) |
將事件記錄檔從指定的電腦移除。 |
Delete(String) |
將事件記錄檔從本機電腦移除。 |
Delete(String, String)
- 來源:
- 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
要刪除記錄檔的電腦的名稱,或者表示本機電腦的 "."。
例外狀況
範例
下列範例會從指定的計算機刪除記錄檔。 此範例會從其來源判斷記錄檔。
注意
多個來源可能會寫入事件記錄檔。 刪除自訂記錄檔之前,請確定沒有其他來源寫入該記錄檔。
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int 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 -1;
// Delete the source and the log.
EventLog::DeleteEventSource( "MySource", "MyMachine" );
EventLog::Delete( logName, "MyMachine" );
Console::WriteLine( "{0} deleted.", logName );
}
else
{
// Create the event source to make next try successful.
EventSourceCreationData^ mySourceData = gcnew EventSourceCreationData("MySource", "MyLog");
mySourceData->MachineName = "MyMachine";
EventLog::CreateEventSource(mySourceData);
}
}
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 實例來呼叫任一方法。
這個方法會先刪除保存記錄檔內容的檔案。 然後它會存取登錄,並移除針對該記錄註冊的所有事件來源。 如果您在稍後重新建立記錄檔,則應在重複使用事件來源時再次註冊事件來源。 如果您未註冊事件來源,而且其他使用者未指定記錄檔名稱,就會在應用程式事件記錄檔中建立事件來源。 因此,先前能夠將專案寫入您刪除並重新建立的記錄檔,會改為寫入應用程式記錄檔,因為它現在包含事件來源。
注意
重新建立事件記錄檔可能很困難。 避免刪除任何系統建立的事件記錄檔,例如應用程式記錄檔。
透過呼叫 刪除記錄檔,以 Delete 自動刪除註冊至該記錄的來源。 這可能會讓其他應用程式使用該登入。
另請參閱
適用於
Delete(String)
- 來源:
- 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
範例
下列範例會從本機計算機刪除記錄檔。 此範例會從其來源判斷記錄檔。
注意
多個來源可能會寫入事件記錄檔。 刪除自訂記錄檔之前,請確定沒有其他來源寫入該記錄檔。
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int 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 -1;
// Delete the source and the log.
EventLog::DeleteEventSource( "MySource" );
EventLog::Delete( logName );
Console::WriteLine( "{0} deleted.", logName );
}
else
{
// Create the event source to make next try successful.
EventLog::CreateEventSource("MySource", "MyLog");
}
}
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 會先刪除保存記錄檔內容的檔案。 然後它會存取登錄,並移除針對該記錄註冊的所有事件來源。 如果您在稍後重新建立記錄檔,則應在重複使用事件來源時再次註冊事件來源。 如果您未註冊事件來源,而且其他使用者未指定記錄檔名稱,就會在應用程式事件記錄檔中建立事件來源。 因此,先前能夠將專案寫入您刪除並重新建立的記錄檔,會改為寫入應用程式記錄檔,因為它現在包含事件來源。
注意
重新建立事件記錄檔可能很困難。 避免刪除任何系統建立的事件記錄檔,例如應用程式記錄檔。
透過呼叫 刪除記錄檔,以 Delete 自動刪除註冊至該記錄的來源。 這可能會讓其他應用程式使用該登入。