Cómo: Crear y quitar registros de eventos personalizados

Actualización: noviembre 2007

Puede utilizar la clase EventLog para crear un registro de eventos personalizado en un equipo local o remoto. Podría crear un registro personalizado si deseara organizar las entradas con más detalle del permitido cuando los componentes escriben entradas en el registro de aplicación predeterminado. Por ejemplo, suponga que tiene un componente denominado OrderEntry que escribe información de entradas en un registro de eventos. Le interesa hacer copias de seguridad y guardar estas entradas durante más tiempo que otras entradas del registro de aplicación. En lugar de registrar el componente para que escriba en el registro de aplicación, puede crear un registro personalizado denominado OrdersLog y registrar el componente para que escriba las entradas en este registro. De este modo, toda la información de pedidos se almacena en un solo lugar y no se ve afectada si se borran las entradas del registro de aplicación.

Puede utilizar indirectamente el método CreateEventSource para crear un registro personalizado. Este método crea un nuevo origen y permite especificar el registro en el que se escribe. Si especifica que desea escribir en un registro que aún no existe, el sistema creará automáticamente un registro personalizado y registrará el componente como origen para este registro.

Nota:

Los registros personalizados se eliminan del mismo modo que cualquier otro registro mediante una llamada al método Delete. Para obtener más información, vea Cómo: Eliminar registros de eventos.

Es importante tener en cuenta la diferencia que existe entre crear un registro de eventos y crear una instancia del componente EventLog. Cuando se utiliza el método CreateEventSource, se crea un nuevo registro de eventos personalizado en Windows, y no un componente del proyecto o la aplicación. Cuando se crea una instancia del componente EventLog, se creará un componente dentro del proyecto que hará referencia a un registro de eventos externo. Puede ver los registros de eventos creados con el método CreateEventSource en el Visor de eventos, pero no podrá ver las instancias del componente.

Nota:

Por norma general, cree el nuevo origen de eventos durante la instalación de su aplicación. Esto permite al sistema operativo actualizar con tiempo 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 es posible crear el origen durante la instalación, intente crear el origen bastante antes de la primera operación de escritura, tal vez 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.

Puede ver registros personalizados en el Explorador de servidores o en la ventana Administración de equipos de Windows 2000. Para obtener más información, vea Cómo: Trabajar con registros de eventos en el Explorador de servidores o Cómo: Iniciar el visor de eventos desde el Explorador de servidores.

Para crear y eliminar registros deberá tener los derechos de acceso adecuados en los equipos remotos. Para obtener más información, vea Ramificaciones de seguridad de los registros de eventos.

Nota de seguridad:

Cuando cree un registro de eventos, tenga en cuenta que el recurso puede existir ya. Es posible que otro proceso, probablemente malicioso, haya creado el recurso y tenga acceso a él. Cuando ponga datos en el registro de eventos, los datos estarán disponibles para el otro proceso. Para obtener información sobre los registros de eventos existentes, vea Cómo: Determinar si existen registros de eventos específicos.

Para crear un registro de eventos personalizado

  • Llame al método CreateEventSource y especifique la cadena de origen y el nombre del archivo de registro que desea crear.

    Nota:

    Si deja el nombre de registro en blanco (""), el valor predeterminado será el registro de aplicación. Esto no creará un nuevo registro, sino que registrará el origen especificado para el registro de aplicación. Si crea un nuevo registro, sólo se evalúan las primeras ocho letras para determinar si el nombre es único.

    En el ejemplo siguiente se muestra cómo se crea un registro personalizado denominado MyNewLog en el equipo local. Este código supone que existe una instrucción Imports o using para el espacio de nombres System.Diagnostics:

    EventLog.CreateEventSource("ApplicationName", "LogName")
    
         System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "LogName");
    

    Para crear un registro de eventos personalizado en un equipo remoto, especifique como tercer parámetro el nombre del equipo. El siguiente fragmento de código muestra un ejemplo.

    Dim creationData As New EventSourceCreationData("ApplicationName", "LogName")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "LogName");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

Vea también

Tareas

Cómo: Eliminar registros de eventos

Cómo: Trabajar con registros de eventos en el Explorador de servidores

Cómo: Iniciar el visor de eventos desde el Explorador de servidores

Conceptos

Ramificaciones de seguridad de los registros de eventos

Introducción al componente EventLog

Referencia

EventLog

Otros recursos

Administrar los registros de eventos