EventLog.Delete Metodo

Definizione

Rimuove una risorsa di log.

Overload

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

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 registro da eliminare. I valori possibili sono Applicazione, Sicurezza, Sistema e qualsiasi registro eventi personalizzato del computer specificato.

machineName
String

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

Eccezioni

logName è una stringa ("") o null.

-oppure-

machineName non è un nome di computer valido.

Non è possibile aprire la chiave del Registro di sistema per il log eventi sul computer specificato.

-oppure-

Il log non è presente sul computer specificato.

La cancellazione del log eventi non è stata eseguita correttamente.

-oppure-

È impossibile aprire il log. Non è disponibile un codice di errore di Windows.

Esempio

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

Nota

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.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

Commenti

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

Delete rimuove il log specificato dal computer specificato logName 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, in modo che possano essere chiamati sulla classe stessa. Non è necessario creare un'istanza di EventLog per chiamare un metodo.

Questo metodo elimina prima 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 di nuovo le origini eventi, se devono essere riutilizzate. Se non si registrano le origini eventi 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 verranno scritte nel log dell'applicazione, perché ora contiene l'origine eventi.

Nota

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

L'eliminazione di un log tramite una chiamata per Delete eliminare automaticamente le origini registrate nel log. In questo modo è possibile creare altre applicazioni usando l'inoperativo del log.

Vedi anche

Si applica a

Delete(String)

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 registro da eliminare. I valori possibili sono Applicazione, Sicurezza, Sistema e qualsiasi registro eventi personalizzato del computer.

Eccezioni

logName è una stringa ("") o null.

Non è possibile aprire la chiave del Registro di sistema per il log eventi sul computer locale.

-oppure-

Il log non è presente sul computer locale.

La cancellazione del log eventi non è stata eseguita correttamente.

-oppure-

È impossibile aprire il log. Non è disponibile un codice di errore di Windows.

Esempio

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

Nota

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.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

Commenti

Usare questo metodo quando il log da eliminare si trova nel computer locale. È possibile eliminare qualsiasi accesso nel computer, purché siano disponibili le autorizzazioni appropriate del Registro di sistema.

Delete rimuove il log specificato 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, in modo che possano essere chiamati sulla classe stessa. Non è necessario creare una nuova istanza di EventLog per chiamare entrambi i metodi.

Il Delete metodo elimina prima 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 di nuovo le origini eventi, se devono essere riutilizzate. Se non si registrano le origini eventi 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 verranno scritte nel log dell'applicazione, perché ora contiene l'origine eventi.

Nota

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

L'eliminazione di un log tramite una chiamata per Delete eliminare automaticamente le origini registrate nel log. In questo modo è possibile creare altre applicazioni usando l'inoperativo del log.

Vedi anche

Si applica a