EventLog.DeleteEventSource Methode

Definition

Entfernt die Ereignisquellregistrierung einer Anwendung aus dem Ereignisprotokoll.

Überlädt

Name Beschreibung
DeleteEventSource(String)

Entfernt die Ereignisquellregistrierung aus dem Ereignisprotokoll des lokalen Computers.

DeleteEventSource(String, String)

Entfernt die Ereignisquellregistrierung der Anwendung vom angegebenen Computer.

DeleteEventSource(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 die Ereignisquellregistrierung aus dem Ereignisprotokoll des lokalen Computers.

public:
 static void DeleteEventSource(System::String ^ source);
public static void DeleteEventSource(string source);
static member DeleteEventSource : string -> unit
Public Shared Sub DeleteEventSource (source As String)

Parameter

source
String

Der Name, nach dem die Anwendung im Ereignisprotokollsystem registriert ist.

Ausnahmen

Der source Parameter ist in der Registrierung des lokalen Computers nicht vorhanden.

-oder-

Sie haben keinen Schreibzugriff auf den Registrierungsschlüssel für das Ereignisprotokoll.

Beispiele

Im folgenden Beispiel wird eine Quelle vom lokalen Computer gelöscht. Das Beispiel bestimmt das Protokoll aus seiner Quelle und löscht dann das Protokoll.

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, um die Registrierung eines von Source dem lokalen Computer zu entfernen. DeleteEventSource greift auf die Registrierung auf dem lokalen Computer zu und entfernt die Registrierung Ihrer Anwendung als gültige Quelle von Ereignissen.

Sie können Ihre Komponente als gültige Quelle von Ereignissen entfernen, wenn Sie sie nicht mehr zum Schreiben von Einträgen in dieses Protokoll benötigen. Beispielsweise können Sie dies tun, wenn Sie Ihre Komponente von einem Protokoll in ein anderes ändern müssen. Da eine Quelle jeweils nur in einem Protokoll registriert werden kann, müssen Sie die aktuelle Registrierung entfernen.

DeleteEventSource entfernt nur die in einem Protokoll registrierte Quelle. Wenn Sie das Protokoll selbst entfernen möchten, rufen Sie auf Delete. 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.

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.

Note

Wenn eine Quelle bereits einem Protokoll zugeordnet wurde und Sie es einem neuen Protokoll zuordnen, müssen Sie den Computer neu starten, damit die Änderungen wirksam werden.

Weitere Informationen

Gilt für:

DeleteEventSource(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 die Ereignisquellregistrierung der Anwendung vom angegebenen Computer.

public:
 static void DeleteEventSource(System::String ^ source, System::String ^ machineName);
public static void DeleteEventSource(string source, string machineName);
static member DeleteEventSource : string * string -> unit
Public Shared Sub DeleteEventSource (source As String, machineName As String)

Parameter

source
String

Der Name, nach dem die Anwendung im Ereignisprotokollsystem registriert ist.

machineName
String

Der Name des Computers, von dem die Registrierung entfernt werden soll, oder "." für den lokalen Computer.

Ausnahmen

Der parameter machineName ist ungültig.

-oder-

Der source Parameter ist in der Registrierung des angegebenen Computers nicht vorhanden.

-oder-

Sie haben keinen Schreibzugriff auf den Registrierungsschlüssel für das Ereignisprotokoll.

source kann nicht gelöscht werden, da in der Registrierung der übergeordnete Registrierungsschlüssel keinen source Unterschlüssel mit demselben Namen enthält.

Beispiele

Im folgenden Beispiel wird eine Quelle vom angegebenen Computer gelöscht. Das Beispiel bestimmt das Protokoll aus seiner Quelle und löscht dann das Protokoll.

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 Überladung, um die Registrierung eines Source Computers von einem Remotecomputer zu entfernen. DeleteEventSource greift auf die Registrierung auf dem angegebenen machineName Computer zu und entfernt die Registrierung Ihrer Anwendung als gültige Quelle von Ereignissen.

Sie können Ihre Komponente als gültige Quelle von Ereignissen entfernen, wenn Sie sie nicht mehr zum Schreiben von Einträgen in dieses Protokoll benötigen. Beispielsweise können Sie dies tun, wenn Sie Ihre Komponente von einem Protokoll in ein anderes ändern müssen. Da eine Quelle jeweils nur in einem Protokoll registriert werden kann, müssen Sie die aktuelle Registrierung entfernen.

DeleteEventSource entfernt nur die in einem Protokoll registrierte Quelle. Wenn Sie das Protokoll selbst entfernen möchten, rufen Sie auf Delete. 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.

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.

Note

Wenn eine Quelle bereits einem Protokoll zugeordnet wurde und Sie es einem neuen Protokoll zuordnen, müssen Sie den Computer neu starten, damit die Änderungen wirksam werden.

Weitere Informationen

Gilt für: