Cómo suscribirse a eventos de un registro de eventos

Puede suscribirse a eventos de un registro de eventos para notificar a la aplicación cuándo se publican eventos específicos en el registro de eventos. Esto le permitirá supervisar registros de eventos y ejecutar tareas o enviar notificaciones cuando ocurra un evento. Cuando se suscribe para recibir notificaciones de eventos, especifica una consulta basada en XPath para un grupo de eventos que coincida con un determinado criterio de búsqueda. La consulta filtra los eventos basándose en las propiedades de eventos. Por ejemplo, se puede suscribir a todos los eventos de nivel 2 de un determinado registro de eventos o suscribirse a todos los eventos con un identificador igual a 105.

Ejemplo

Descripción

En el siguiente ejemplo de código se utilizan las clases System.Diagnostics.Eventing.Reader para suscribirse para recibir notificaciones de eventos para todos los eventos de nivel 2 del registro de eventos de la aplicación. Cuando se publica un evento en el registro de eventos que coincida con este criterio, la descripción y el Id. de evento se muestran para el evento. La clase EventLogQuery se utiliza para crear una consulta de los eventos a los que se desea suscribir. La clase EventLogWatcher se utiliza para crear la suscripción mediante el establecimiento de un método de controlador de eventos para el evento EventRecordWritten. Se llama al método de controlador de eventos cuando un evento que coincide con el criterio de búsqueda se publica en el registro.

En el siguiente ejemplo de código se muestra una serie de pasos para suscribirse a los eventos.

  1. Cree una instancia de la clase EventLogQuery especificando una cadena de consulta usada para filtrar eventos así como el nombre o la ubicación del registro de eventos al que suscribirse. Para obtener más información sobre cómo buscar nombres de registros de eventos, vea Cómo configurar y leer propiedades del registro de eventos o busque registros de eventos en la herramienta Visor de eventos. Para obtener más información sobre cómo crear una cadena de consulta de eventos, vea Consultas de eventos y XML de eventos.
  2. (Opcional) Para suscribirse a eventos en un equipo remoto, establezca la propiedad Session en una instancia de la clase EventLogSession y especifique el nombre del equipo remoto, el dominio y el nombre de usuario y la contraseña usados para conectarse al equipo remoto.
  3. Cree una nueva instancia de EventLogWatcher pasando la instancia de EventLogQuery creada en el paso 1 al constructor EventLogWatcher.
  4. Cree un método de devolución de llamada que se ejecutará cuando se informe de un evento a la suscripción. Este método acepta argumentos de tipo Object y EventRecordWrittenEventArgs.
  5. Establezca el controlador de eventos EventRecordWritten en un nuevo controlador de eventos que apunte al método de devolución de llamada creado en el paso 4.
  6. Establezca la propiedad Enabled en true para iniciar la suscripción de eventos y en false para detenerla.

Código

Compilar el código

Este ejemplo de código requiere referencias a los archivos System.dll y System.Core.dll.

Consulte también

Conceptos

Escenarios de registros de eventos
Cómo tener acceso y leer información de eventos

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.