EventLog.Delete Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Entfernt eine Protokollressource.
Überlädt
| Name | Beschreibung |
|---|---|
| Delete(String, String) |
Entfernt ein Ereignisprotokoll vom angegebenen Computer. |
| Delete(String) |
Entfernt ein Ereignisprotokoll vom lokalen Computer. |
Delete(String, String)
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
Entfernt ein Ereignisprotokoll vom angegebenen Computer.
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)
Parameter
- logName
- String
Der Name des zu löschenden Protokolls. Mögliche Werte sind: Anwendung, Sicherheit, System und alle benutzerdefinierten Ereignisprotokolle auf dem angegebenen Computer.
- machineName
- String
Der Name des Computers, aus dem das Protokoll gelöscht werden soll, oder "." für den lokalen Computer.
Ausnahmen
logName ist eine leere Zeichenfolge ("") oder null.
-oder-
machineName ist kein gültiger Computername.
Der Registrierungsschlüssel für das Ereignisprotokoll konnte auf dem angegebenen Computer nicht geöffnet werden.
-oder-
Das Protokoll ist auf dem angegebenen Computer nicht vorhanden.
Das Ereignisprotokoll wurde nicht erfolgreich gelöscht.
-oder-
Das Protokoll kann nicht geöffnet werden. Ein Windows-Fehlercode ist nicht verfügbar.
Beispiele
Im folgenden Beispiel wird ein Protokoll vom angegebenen Computer gelöscht. Das Beispiel bestimmt das Protokoll aus seiner Quelle.
Note
Mehrere Quellen können in ein Ereignisprotokoll schreiben. Stellen Sie vor dem Löschen eines benutzerdefinierten Protokolls sicher, dass es keine anderen Quellen gibt, die in dieses Protokoll geschrieben werden.
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
Hinweise
Verwenden Sie diese Methode, wenn sich das zu löschende Protokoll auf einem Remotecomputer befindet. Sie können jede Anmeldung auf dem Computer löschen, sofern Sie über die entsprechenden Registrierungsberechtigungen verfügen.
Delete entfernt das von logName dem computer angegebene Protokoll machineName. Wenn Sie nur die quelle löschen möchten, die in einem Protokoll registriert ist, rufen Sie auf DeleteEventSource. Wenn Sie nur die Protokolleinträge löschen möchten, rufen Sie auf Clear.
Delete und DeleteEventSource sind static Methoden, sodass sie für die Klasse selbst aufgerufen werden können. Es ist nicht erforderlich, eine Instanz von EventLog beiden Methoden aufzurufen.
Diese Methode löscht zuerst die Datei, die den Inhalt des Protokolls enthält. Anschließend greift sie auf die Registrierung zu und entfernt alle für dieses Protokoll registrierten Ereignisquellen. Wenn Sie das Protokoll zu einem späteren Zeitpunkt neu erstellen, sollten Sie die Ereignisquellen erneut registrieren, wenn sie wiederverwendet werden sollen. Wenn Sie die Ereignisquellen und andere Benutzer nicht registrieren, die in eine Ereignisquelle schreiben, ohne einen Protokollnamen anzugeben, wird die Ereignisquelle im Anwendungsereignisprotokoll erstellt. Daher können Anwendungen, die zuvor Einträge in das von Ihnen gelöschte und neu erstellte Protokoll schreiben konnten, stattdessen in das Anwendungsprotokoll schreiben, da sie jetzt die Ereignisquelle enthält.
Note
Das Erneute Erstellen eines Ereignisprotokolls kann ein schwieriger Prozess sein. Vermeiden Sie das Löschen eines vom System erstellten Ereignisprotokolls, z. B. des Anwendungsprotokolls.
Durch das Löschen eines Protokolls über einen Aufruf werden Delete die in diesem Protokoll registrierten Quellen automatisch gelöscht. Dies kann andere Anwendungen dazu machen, dass diese Anmeldung inoperativ ist.
Weitere Informationen
Gilt für:
Delete(String)
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
Entfernt ein Ereignisprotokoll vom lokalen Computer.
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)
Parameter
- logName
- String
Der Name des zu löschenden Protokolls. Mögliche Werte sind: Anwendung, Sicherheit, System und alle benutzerdefinierten Ereignisprotokolle auf dem Computer.
Ausnahmen
logName ist eine leere Zeichenfolge ("") oder null.
Der Registrierungsschlüssel für das Ereignisprotokoll konnte nicht auf dem lokalen Computer geöffnet werden.
-oder-
Das Protokoll ist auf dem lokalen Computer nicht vorhanden.
Das Ereignisprotokoll wurde nicht erfolgreich gelöscht.
-oder-
Das Protokoll kann nicht geöffnet werden. Ein Windows-Fehlercode ist nicht verfügbar.
Beispiele
Im folgenden Beispiel wird ein Protokoll vom lokalen Computer gelöscht. Das Beispiel bestimmt das Protokoll aus seiner Quelle.
Note
Mehrere Quellen können in ein Ereignisprotokoll schreiben. Stellen Sie vor dem Löschen eines benutzerdefinierten Protokolls sicher, dass es keine anderen Quellen gibt, die in dieses Protokoll geschrieben werden.
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
Hinweise
Verwenden Sie diese Methode, wenn sich das zu löschende Protokoll auf dem lokalen Computer befindet. Sie können jede Anmeldung auf dem Computer löschen, sofern Sie über die entsprechenden Registrierungsberechtigungen verfügen.
Delete entfernt das vom logName lokalen Computer angegebene Protokoll. Wenn Sie nur die quelle löschen möchten, die in einem Protokoll registriert ist, rufen Sie auf DeleteEventSource. Wenn Sie nur die Protokolleinträge löschen möchten, rufen Sie auf Clear.
Delete und DeleteEventSource sind static Methoden, sodass sie für die Klasse selbst aufgerufen werden können. Es ist nicht erforderlich, eine neue Instanz von EventLog beiden Methoden aufzurufen.
Die Delete Methode löscht zuerst die Datei, die den Inhalt des Protokolls enthält. Anschließend greift sie auf die Registrierung zu und entfernt alle für dieses Protokoll registrierten Ereignisquellen. Wenn Sie das Protokoll zu einem späteren Zeitpunkt neu erstellen, sollten Sie die Ereignisquellen erneut registrieren, wenn sie wiederverwendet werden sollen. Wenn Sie die Ereignisquellen und andere Benutzer nicht registrieren, die in eine Ereignisquelle schreiben, ohne einen Protokollnamen anzugeben, wird die Ereignisquelle im Anwendungsereignisprotokoll erstellt. Daher können Anwendungen, die zuvor Einträge in das von Ihnen gelöschte und neu erstellte Protokoll schreiben konnten, stattdessen in das Anwendungsprotokoll schreiben, da sie jetzt die Ereignisquelle enthält.
Note
Das Erneute Erstellen eines Ereignisprotokolls kann ein schwieriger Prozess sein. Vermeiden Sie das Löschen eines vom System erstellten Ereignisprotokolls, z. B. des Anwendungsprotokolls.
Durch das Löschen eines Protokolls über einen Aufruf werden Delete die in diesem Protokoll registrierten Quellen automatisch gelöscht. Dies kann andere Anwendungen dazu machen, dass diese Anmeldung inoperativ ist.