Compartir a través de


EventLog.Delete Método

Definición

Quita un recurso de registro.

Sobrecargas

Delete(String, String)

Quita un registro de eventos del equipo especificado.

Delete(String)

Quita un registro de eventos del equipo local.

Delete(String, String)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

Quita un registro de eventos del equipo especificado.

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)

Parámetros

logName
String

Nombre del registro que se va a eliminar. Posibles valores: Aplicación, Seguridad, Sistema y cualquier registro de eventos personalizado del equipo especificado.

machineName
String

Nombre del equipo del que se va a eliminar el registro o "." para el equipo local.

Excepciones

logName es una cadena vacía ("") o null.

o bien

machineName no es un nombre de equipo válido.

No se ha podido abrir en el equipo especificado la clave del Registro para el registro de eventos.

o bien

El registro no existe en el equipo especificado.

El registro de eventos no se ha borrado correctamente.

o bien

No puede abrirse el registro. No hay ningún código de error de Windows disponible.

Ejemplos

En el ejemplo siguiente se elimina un registro del equipo especificado. En el ejemplo se determina el registro de su origen.

Nota

Es posible que más de un origen escriba en un registro de eventos. Antes de eliminar un registro personalizado, asegúrese de que no haya otros orígenes que escriban en ese registro.

#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

Comentarios

Use este método cuando el registro que desea eliminar esté en un equipo remoto. Puede eliminar cualquier inicio de sesión en el equipo, siempre que tenga los permisos del Registro adecuados.

Delete quita el registro especificado por logName del equipo especificado por machineName. Si desea eliminar solo el origen registrado en un registro, llame a DeleteEventSource. Si solo desea eliminar las entradas de registro, llame a Clear. Delete y DeleteEventSource son static métodos, por lo que se puede llamar a en la propia clase. No es necesario crear una instancia de para llamar a ninguno de EventLog los métodos.

Este método elimina primero el archivo que contiene el contenido del registro. A continuación, accede al Registro y quita todos los orígenes de eventos registrados para ese registro. Si vuelve a crear el registro en un momento posterior, debe volver a registrar los orígenes de eventos, si se van a reutilizar. Si no registra los orígenes de eventos y otros usuarios escriben en un origen de eventos sin especificar un nombre de registro, el origen del evento se creará en el registro de eventos de la aplicación. Por lo tanto, las aplicaciones que anteriormente podían escribir entradas en el registro que eliminó y volver a crear escribirán en el registro de aplicación en su lugar, ya que ahora contiene el origen del evento.

Nota

Volver a crear un registro de eventos puede ser un proceso difícil. Evite eliminar cualquiera de los registros de eventos creados por el sistema, como el registro de aplicaciones.

Al eliminar un registro a través de una llamada para Delete eliminar automáticamente los orígenes registrados en ese registro. Esto puede hacer que otras aplicaciones usen ese registro inoperativo.

Consulte también

Se aplica a

Delete(String)

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

Quita un registro de eventos del equipo local.

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)

Parámetros

logName
String

Nombre del registro que se va a eliminar. Posibles valores: Aplicación, Seguridad, Sistema o cualquier registro de eventos personalizado del equipo.

Excepciones

logName es una cadena vacía ("") o null.

No se ha podido abrir en el equipo local la clave del Registro para el registro de eventos.

o bien

El registro no existe en el equipo local.

El registro de eventos no se ha borrado correctamente.

o bien

No puede abrirse el registro. No hay ningún código de error de Windows disponible.

Ejemplos

En el ejemplo siguiente se elimina un registro del equipo local. En el ejemplo se determina el registro de su origen.

Nota

Es posible que más de un origen escriba en un registro de eventos. Antes de eliminar un registro personalizado, asegúrese de que no haya otros orígenes que escriban en ese registro.

#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

Comentarios

Use este método cuando el registro que desea eliminar esté en el equipo local. Puede eliminar cualquier inicio de sesión en el equipo, siempre que tenga los permisos del Registro adecuados.

Delete quita el registro especificado por logName del equipo local. Si desea eliminar solo el origen registrado en un registro, llame a DeleteEventSource. Si solo desea eliminar las entradas de registro, llame a Clear. Delete y DeleteEventSource son static métodos, por lo que se puede llamar a en la propia clase. No es necesario crear una nueva instancia de para llamar a ninguno de EventLog los métodos.

El Delete método elimina primero el archivo que contiene el contenido del registro. A continuación, accede al Registro y quita todos los orígenes de eventos registrados para ese registro. Si vuelve a crear el registro en un momento posterior, debe volver a registrar los orígenes de eventos, si se van a reutilizar. Si no registra los orígenes de eventos y otros usuarios escriben en un origen de eventos sin especificar un nombre de registro, el origen del evento se creará en el registro de eventos de la aplicación. Por lo tanto, las aplicaciones que anteriormente podían escribir entradas en el registro que eliminó y volver a crear escribirán en el registro de aplicación en su lugar, ya que ahora contiene el origen del evento.

Nota

Volver a crear un registro de eventos puede ser un proceso difícil. Evite eliminar cualquiera de los registros de eventos creados por el sistema, como el registro de aplicaciones.

Al eliminar un registro a través de una llamada para Delete eliminar automáticamente los orígenes registrados en ese registro. Esto puede hacer que otras aplicaciones usen ese registro inoperativo.

Consulte también

Se aplica a