Share via


Tutorial: Explorar los registros de eventos, los orígenes de eventos y las entradas

Actualización: noviembre 2007

Este tutorial le guiará a través de las principales áreas funcionales del registro de eventos en una aplicación de Visual Studio. Durante este tutorial, aprenderá a hacer lo siguiente:

  • Crear un componente EventLog.

  • Escribir código para crear y eliminar registros de eventos personalizados.

  • Escribir entradas de varios tipos en el registro personalizado.

  • Leer entradas del registro personalizado.

  • Comprobar que existen registros y orígenes de eventos.

  • Borrar entradas de registro.

  • Utilizar el Explorador de servidores para comprobar los resultados de las acciones de registro de eventos.

Nota:

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Crear la interfaz de usuario

En este tutorial, creará una aplicación para Windows y usará distintos controles para iniciar una serie de acciones de registro de eventos.

Para crear el formulario y los controles para la aplicación

  1. Desde el cuadro de diálogo Nuevo proyecto, cree una Aplicación para WindowsVisual Basic o Visual C#, y asígnele el nombre EventLogApp1.

  2. Agregue ocho botones al formulario y defina las siguientes propiedades para ellos:

    Control

    Propiedad Text

    Propiedad Name

    Button1

    Crear registro personalizado

    CreateLog

    Button2

    Eliminar registro

    DeleteLog

    Button3

    Escribir entrada

    WriteEntry

    Button4

    Borrar registro

    ClearLog

    Button5

    Comprobar que existe el registro

    VerifyLog

    Button6

    Comprobar que existe el origen

    VerifySource

    Button7

    Quitar origen de evento

    RemoveSource

    Button8

    Leer entrada

    ReadEntry

  3. A continuación, haga lo siguiente con cada botón:

    1. En el diseñador, haga doble clic en el botón para crear un controlador de eventos predeterminado para el botón. Se abrirá el Editor de código y aparecerá un código auxiliar para el evento Click del botón.

    2. Vuelva a la vista Diseño y haga doble clic en el siguiente botón.

    3. Continúe hasta haber creado un procedimiento stub de controlador de eventos predeterminado para cada uno de los botones.

  4. En la ficha Componentes del Cuadro de herramientas, arrastre un componente EventLog hasta el formulario.

    Aparecerá una instancia del componente EventLog en el área de bandeja de componentes, en la parte inferior del formulario.

Crear y eliminar un registro personalizado

En este procedimiento, utilizará el método SourceExists para comprobar que el origen que va a utilizar ya no existe; a continuación, llamará al método CreateEventSource utilizando el nombre de un registro que no existe. Puesto que este registro no existe, el sistema creará un registro personalizado cuando se ejecute el código.

Para crear el registro personalizado

  1. En el Editor de código, busque el procedimiento CreateLog_Click.

  2. Escriba el código siguiente. El origen y el registro de eventos se crean como un par y el origen no puede existir antes de que se cree el registro de eventos. Tras crear el registro de eventos, se configura el componente EventLog para tener acceso al nuevo registro de eventos.

    ' Source cannot already exist before creating the log.
    If EventLog.SourceExists("Source1") Then
       EventLog.DeleteEventSource("Source1")
    End If
    
    ' Logs and Sources are created as a pair.
    EventLog.CreateEventSource("Source1", "NewLog1")
    ' Associate the EventLog component with the new log.
    EventLog1.Log = "NewLog1"
    EventLog1.Source = "Source1"
    
    // Source cannot already exist before creating the log.
    if (System.Diagnostics.EventLog.SourceExists("Source1"))
    {
       System.Diagnostics.EventLog.DeleteEventSource("Source1");
    }
    
    // Logs and Sources are created as a pair.
    System.Diagnostics.EventLog.CreateEventSource("Source1", "NewLog1");
    // Associate the EventLog component with the new log.
    eventLog1.Log = "NewLog1";
    eventLog1.Source = "Source1";
    
    Nota de seguridad:

    Cuando cree un registro de eventos, tendrá que decidir qué hacer si ese recurso ya existe. Es posible que otro proceso, probablemente malintencionado, haya creado el registro de eventos y tenga acceso a él. Cuando ponga datos en el registro de eventos, los datos estarán disponibles para el otro proceso.

Para eliminar un registro personalizado

  1. En el Editor de código, busque el procedimiento DeleteLog_Click.

  2. Escriba el código siguiente:

    If EventLog.Exists("NewLog1") Then
       EventLog.Delete("NewLog1")
    End If
    
    if (System.Diagnostics.EventLog.Exists("NewLog1"))
    {
       System.Diagnostics.EventLog.Delete("NewLog1");
    }
    

Escribir entradas en el registro

En este procedimiento, utilizará la instancia del componente EventLog que creó para escribir entradas en el registro. Para ello, primero configure el componente que va a utilizar la cadena de origen que acaba de crear. A continuación, especificará dos entradas para escribirlas en el registro: un evento informativo y un evento de error.

Para escribir entradas en el registro

  1. En el Editor de código, busque el procedimiento WriteEntry_Click.

  2. Escriba el código siguiente. Este código utiliza el método WriteEntry sobrecargado para escribir en el registro de eventos. El segundo formulario mostrado permite especificar el tipo de mensaje. Si ve las entradas con el Explorador de servidores de la sección "Probar el código" más adelante en este tema, los diferentes tipos de entradas se indican con iconos diferentes.

    EventLog1.WriteEntry("This is an informational message")
    EventLog1.WriteEntry("This is an error message", _
       Diagnostics.EventLogEntryType.Error)
    
    eventLog1.WriteEntry("This is an informational message");
    eventLog1.WriteEntry("This is an error message", 
       System.Diagnostics.EventLogEntryType.Error);
    

Borrar entradas de registro

En este procedimiento, utilizará el método Clear para eliminar las entradas existentes del registro personalizado.

Para borrar entradas de registro

  1. En el Editor de código, busque el procedimiento ClearLog_Click.

  2. Llame al método Clear de la instancia del componente EventLog:

    EventLog1.Clear()
    
    eventLog1.Clear();
    

Comprobar registros y orígenes

En este procedimiento, creará dos procedimientos: uno que comprueba que existe el registro personalizado y uno que comprueba que existe la cadena de origen. Estos procedimientos se utilizarán para comprobar los resultados de diferentes acciones que se ejecutan al ejecutar el proyecto.

Para comprobar que el registro personalizado existe

  1. En el Editor de código, busque el procedimiento VerifyLog_Click.

  2. Cree un cuadro de mensaje que evalúe si existe el registro de eventos especificado y muestre verdadero o falso según el resultado. Utilice este código:

    Dim logExists As Boolean = EventLog.Exists("NewLog1")
    MessageBox.Show("Does the log exist? " & logExists.ToString())
    
    bool logExists = System.Diagnostics.EventLog.Exists("NewLog1");
    MessageBox.Show("Does the log exist? " + logExists.ToString());
    

Para comprobar que el origen existe

  1. En el Editor de código, busque el procedimiento VerifySource_Click.

  2. Cree un cuadro de mensaje que evalúe si existe el origen especificado y muestre verdadero o falso según el resultado. Utilice este código:

    Dim sourceExists As Boolean = EventLog.SourceExists("Source1")
    MessageBox.Show("Does the source exist? " + sourceExists.ToString())
    
    bool sourceExists = 
       System.Diagnostics.EventLog.SourceExists("Source1");
    MessageBox.Show("Does the source exist? " + sourceExists.ToString());
    

Quitar orígenes

En este procedimiento, escribirá código para eliminar una cadena de origen. Para ello, comprobará primero que el origen en cuestión (Source1) existe y, a continuación, llamará al método DeleteEventSource para quitarlo.

Para quitar el origen de eventos creado

  1. En el Editor de código, busque el procedimiento RemoveSource_Click.

  2. Agregue el código siguiente:

    If EventLog.SourceExists("Source1") Then
       EventLog.DeleteEventSource("Source1")
    End If
    
    if (System.Diagnostics.EventLog.SourceExists("Source1"))
    {
       System.Diagnostics.EventLog.DeleteEventSource("Source1");
    }
    

Leer entradas

En este procedimiento, escribirá código para recorrer en iteración la colección de entradas del registro de eventos y mostrar los mensajes existentes en el registro.

Para leer entradas del registro personalizado creado

  1. En el Editor de código, busque el procedimiento ReadEntry_Click.

  2. Agregue el código siguiente:

    Dim entry As EventLogEntry
    If EventLog1.Entries.Count > 0 Then
       For Each entry In EventLog1.Entries
          System.Windows.Forms.MessageBox.Show(entry.Message)
       Next
    Else
       MessageBox.Show("There are no entries in the log.")
    End If
    
    if (eventLog1.Entries.Count > 0) 
    {
       foreach (System.Diagnostics.EventLogEntry entry 
          in eventLog1.Entries)
       {
          MessageBox.Show(entry.Message);
       }
    }
    else 
    {
       MessageBox.Show("There are no entries in the log.");
    }
    

Probar el código

En esta sección, utilizará el Explorador de servidores para comprobar los resultados del código.

Para iniciar el Explorador de servidores

  1. En el menú Ver, vaya al Explorador de servidores.

  2. Expanda el nodo del servidor actual y, a continuación, expanda el nodo Registros de eventos situado debajo de él.

Para generar y ejecutar aplicaciones

  1. Guarde los archivos y presione F5 para generar e iniciar el proyecto. Aparecerá el formulario con los ocho botones creados.

  2. Haga clic en el botón Crear registro personalizado.

    Nota:

    Para crear registros de eventos de Windows, deberá tener los permisos necesarios en el servidor en el que se ejecuta la aplicación. Si en este momento recibe un error de seguridad, consulte al administrador del sistema.

  3. Vuelva al producto mientras se encuentra en modo de ejecución y haga clic con el botón secundario del mouse en el nodo Registros de eventos del Explorador de servidores.

  4. Haga clic en Actualizar.

  5. Compruebe que el registro NewLog1 aparece ahora en el nodo Registros de eventos.

Para probar la creación, eliminación y comprobación de registros personalizados

  1. Vuelva al formulario en ejecución y haga clic en el botón Comprobar que existe el registro.

    Debe aparecer un mensaje con el texto establecido en "Verdadero".

  2. Haga clic en el botón Eliminar registro y, a continuación, haga clic otra vez en el botón Comprobar que existe el registro.

    Esta vez, el mensaje debe indicar "Falso".

  3. Haga clic otra vez en el botón Crear registro personalizado para crear de nuevo el registro.

Para probar la escritura y lectura de entradas en el registro personalizado

  1. En el formulario, haga clic en el botón Escribir entrada.

  2. Vaya al Explorador de servidores y expanda el registro NewLog1.

  3. Expanda el nodo Source1 que se encuentra debajo de él.

    Deberá ver que se agregaron dos entradas al registro. Una tendrá un icono que indica que se trata de una entrada informativa y la otra tendrá un icono que indica que es un error.

  4. Vuelva al formulario y haga clic en el botón Leer entrada.

    Recibirá dos mensajes: uno que contiene la entrada informativa y otro que contiene la entrada de error.

    Nota:

    Si hace clic varias veces en el botón Escribir entrada, recibirá más mensajes.

Para probar el borrado del registro

  1. En el formulario, haga clic en el botón Eliminar registro.

  2. En el Explorador de servidores, haga clic con el botón secundario del mouse en el nodo NewLog1 y, a continuación, haga clic en Actualizar.

    Deberá ver que el registro ya no contiene entradas.

Para probar la eliminación de la cadena de origen

  1. En el formulario, haga clic en el botón Quitar origen de evento.

  2. Haga clic en el botón Comprobar que existe el origen. Debería recibir un mensaje con el texto "False", lo que indica que el origen Source1 ya no existe.

  3. Haga clic en el botón Escribir entrada.

    Nota:

    Esta acción le permitirá escribir entradas en el registro, porque el método WriteEntry establecerá el origen si aún no existe.

  4. En el Explorador de servidores, haga clic con el botón secundario del mouse en el nodo NewLog1 y, a continuación, haga clic en Actualizar. Debe ver dos entradas en el registro.

  5. Haga clic otra vez en el botón Comprobar que existe el origen. Debe recibir un mensaje con el texto "True", lo que indica que el origen Source1 existe.

  6. Si lo desea, puede hacer clic en el botón DeleteLog durante la prueba. De esta forma, se eliminará el registro NewLog1 y el origen Source1 para que no haya cambios permanentes en la configuración del sistema.

Vea también

Otros recursos

Tutoriales sobre la supervisión del sistema

Registrar eventos de aplicación, de servidor o de seguridad