EventLog.Delete Metodo

Definizione

Rimuove una risorsa di log.

Overload

Nome Descrizione
Delete(String, String)

Rimuove un registro eventi dal computer specificato.

Delete(String)

Rimuove un registro eventi dal computer locale.

Delete(String, String)

Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs

Rimuove un registro eventi dal computer specificato.

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)

Parametri

logName
String

Nome del log da eliminare. I valori possibili includono: Application, Security, System e tutti i registri eventi personalizzati nel computer specificato.

machineName
String

Nome del computer da cui eliminare il log o "." per il computer locale.

Eccezioni

logName è una stringa vuota ("") o null.

oppure

machineName non è un nome di computer valido.

Impossibile aprire la chiave del Registro di sistema per il registro eventi nel computer specificato.

oppure

Il log non esiste nel computer specificato.

Il registro eventi non è stato cancellato correttamente.

oppure

Impossibile aprire il log. Codice di errore di Windows non disponibile.

Esempio

Nell'esempio seguente viene eliminato un log dal computer specificato. L'esempio determina il log dall'origine.

Note

Più di un'origine potrebbe scrivere in un registro eventi. Prima di eliminare un log personalizzato, assicurarsi che non siano presenti altre origini che scrivono nel log.

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

Commenti

Utilizzare questo metodo quando il log da eliminare si trova in un computer remoto. È possibile eliminare qualsiasi accesso nel computer, purché si disponga delle autorizzazioni appropriate del Registro di sistema.

Delete rimuove il log specificato da logName dal computer specificato da machineName. Se si vuole eliminare solo l'origine registrata in un log, chiamare DeleteEventSource. Se si desidera eliminare solo le voci di log, chiamare Clear. Delete e DeleteEventSource sono static metodi, quindi possono essere chiamati sulla classe stessa. Non è necessario creare un'istanza di EventLog per chiamare uno dei due metodi.

Questo metodo elimina innanzitutto il file che contiene il contenuto del log. Accede quindi al Registro di sistema e rimuove tutte le origini eventi registrate per tale log. Se si ricrea il log in un secondo momento, è necessario registrare nuovamente le origini eventi, se devono essere riutilizzate. Se non si registrano le origini evento e altri utenti scrivono in un'origine evento senza specificare un nome di log, l'origine evento verrà creata nel registro eventi dell'applicazione. Pertanto, le applicazioni che in precedenza erano in grado di scrivere voci nel log eliminato e ricreato scriveranno invece nel log applicazioni, perché ora contiene l'origine evento.

Note

La ricreazione di un registro eventi può essere un processo difficile. Evitare di eliminare uno dei log eventi creati dal sistema, ad esempio il registro applicazioni.

L'eliminazione di un log tramite una chiamata a Delete elimina automaticamente le origini registrate nel log. Ciò può rendere inutilizzabili altre applicazioni che usano tale log.

Vedi anche

Si applica a

Delete(String)

Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs
Origine:
EventLog.cs

Rimuove un registro eventi dal computer locale.

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)

Parametri

logName
String

Nome del log da eliminare. I valori possibili includono: Application, Security, System e tutti i registri eventi personalizzati nel computer.

Eccezioni

logName è una stringa vuota ("") o null.

Impossibile aprire la chiave del Registro di sistema per il registro eventi nel computer locale.

oppure

Il log non esiste nel computer locale.

Il registro eventi non è stato cancellato correttamente.

oppure

Impossibile aprire il log. Codice di errore di Windows non disponibile.

Esempio

Nell'esempio seguente viene eliminato un log dal computer locale. L'esempio determina il log dall'origine.

Note

Più di un'origine potrebbe scrivere in un registro eventi. Prima di eliminare un log personalizzato, assicurarsi che non siano presenti altre origini che scrivono nel log.

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

Commenti

Utilizzare questo metodo quando il log che si desidera eliminare si trova nel computer locale. È possibile eliminare qualsiasi accesso nel computer, purché si disponga delle autorizzazioni appropriate del Registro di sistema.

Delete rimuove il log specificato da logName dal computer locale. Se si vuole eliminare solo l'origine registrata in un log, chiamare DeleteEventSource. Se si desidera eliminare solo le voci di log, chiamare Clear. Delete e DeleteEventSource sono static metodi, quindi possono essere chiamati sulla classe stessa. Non è necessario creare una nuova istanza di per EventLog chiamare uno dei due metodi.

Il Delete metodo elimina innanzitutto il file che contiene il contenuto del log. Accede quindi al Registro di sistema e rimuove tutte le origini eventi registrate per tale log. Se si ricrea il log in un secondo momento, è necessario registrare nuovamente le origini eventi, se devono essere riutilizzate. Se non si registrano le origini evento e altri utenti scrivono in un'origine evento senza specificare un nome di log, l'origine evento verrà creata nel registro eventi dell'applicazione. Pertanto, le applicazioni che in precedenza erano in grado di scrivere voci nel log eliminato e ricreato scriveranno invece nel log applicazioni, perché ora contiene l'origine evento.

Note

La ricreazione di un registro eventi può essere un processo difficile. Evitare di eliminare uno dei log eventi creati dal sistema, ad esempio il registro applicazioni.

L'eliminazione di un log tramite una chiamata a Delete elimina automaticamente le origini registrate nel log. Ciò può rendere inutilizzabili altre applicazioni che usano tale log.

Vedi anche

Si applica a