Cómo: Escribir entradas en los registros de eventos

Actualización: noviembre 2007

Cuando escriba una entrada en un registro de eventos, deberá especificar como una cadena el mensaje que desea escribir en el registro . Un mensaje debe contener toda la información necesaria para interpretar la causa del problema y su solución.

Hay dos formas de escribir una entrada en el registro; ambas son válidas. La forma más directa consiste en registrar un origen de eventos con el registro en el que se desea escribir, crear luego una instancia de un componente y establecer el valor de su propiedad Source en ese registro y, por último, llamar a WriteEntry. Esto evita tener que establecer el valor de la propiedad Log para la instancia del componente; este valor se determina al conectar con un origen ya registrado. Para obtener más información sobre cómo registrar un origen, vea Cómo: Agregar una aplicación como origen de entradas de un registro de eventos.

El otro modo de enfocar este proceso es crear una instancia de un componente EventLog, establecer sus propiedades Source, MachineName y Log, y llamar al método WriteEntry. En este caso, el método WriteEntry determinaría si existe ya el origen y, si no existiera, lo registraría sobre la marcha.

Para escribir correctamente una entrada de registro, deben cumplirse las siguientes condiciones:

  • El origen debe estar registrado con el registro deseado.

    Nota:

    Debe establecer la propiedad Source en su instancia del componente EventLog antes de poder escribir las entradas en un registro. Cuando el componente escriba una entrada, el sistema comprobará automáticamente si el origen especificado está registrado con el registro de eventos en el que está escribiendo el componente y llamará a CreateEventSource si es necesario. Por norma general, cree el nuevo origen de eventos durante la instalación de su aplicación. Esto permite al sistema operativo actualizar la lista de orígenes de eventos registrados y su configuración. Si el sistema operativo no ha actualizado su lista de orígenes de eventos e intenta escribir un evento con el nuevo origen, se producirá un error en la operación de escritura. Si no existe la posibilidad de crear el origen durante la instalación, intente crear el origen antes de la primera operación de escritura, quizá durante la inicialización de la aplicación. Si elige esta opción, asegúrese de que el código de la inicialización se está ejecutando con derechos de administrador en el equipo. Estos derechos son necesarios para crear nuevos orígenes de eventos.

  • El mensaje especificado no puede tener más de 16 KB de longitud.

  • La aplicación debe tener acceso de escritura al registro en el que intenta escribir. Para obtener más información, vea Ramificaciones de seguridad de los registros de eventos.

Cuando escriba una entrada, puede especificar varios parámetros, entre ellos el tipo de entrada que está creando, un identificador que identifique el evento, una categoría y los datos binarios que desee anexar a la entrada.

Para escribir una entrada de registro de eventos

  1. Cree una instancia de un componente EventLog. Para obtener más información, vea Cómo: Crear instancias de componentes EventLog.

  2. Utilice el método CreateEventSource para registrar un origen de eventos en el registro en el que desea escribir entradas, utilizando una cadena única para la cadena de origen. Establezca el valor de la propiedad Source del componente en el origen registrado. Para obtener más información, vea Cómo: Configurar instancias de componentes EventLog. Llame al método WriteEntry para especificar la entrada que se va a escribir en el registro.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEntry("This is a simple event log entry")
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEntry("This is a simple event log entry");
    

Para escribir una entrada de registro de eventos adaptada

  1. Cree una instancia de un componente EventLog. Para obtener más información, vea Cómo: Crear instancias de componentes EventLog.

  2. Para escribir entradas de registro de eventos adaptadas, utilice el método WriteEvent. En este caso, especificará las propiedades de eventos con identificadores de recursos en lugar de con valores de cadena. El Visor de eventos utiliza los identificadores de recursos para mostrar las cadenas correspondientes del archivo de recursos adaptado para el origen. Debe registrar el origen con el archivo de recursos correspondiente antes de escribir eventos mediante los identificadores de recursos. Para obtener información sobre el registro de un archivo de recursos, vea EventSourceCreationData Clase.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEvent(New EventInstance(1, 1), New String() {"message"})
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEvent(new System.Diagnostics.EventInstance(1, 1), new string[] { "message" });
    

Vea también

Tareas

Cómo: Configurar instancias de componentes EventLog

Cómo: Crear instancias de componentes EventLog

Cómo: Agregar una aplicación como origen de entradas de un registro de eventos

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

Conceptos

Introducción al componente EventLog

Referencia

EventLog