Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase EventLog

 

Proporciona interacción con los registros de eventos de Windows.

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Diagnostics.EventLog

public class EventLog : Component, ISupportInitialize

NombreDescripción
System_CAPS_pubmethodEventLog()

Inicializa una nueva instancia de la clase EventLog. No asocia la instancia a ningún registro.

System_CAPS_pubmethodEventLog(String)

Inicializa una nueva instancia de la clase EventLog. Asocia la instancia a un registro del equipo local.

System_CAPS_pubmethodEventLog(String, String)

Inicializa una nueva instancia de la clase EventLog. Asocia la instancia a un registro en el equipo especificado.

System_CAPS_pubmethodEventLog(String, String, String)

Inicializa una nueva instancia de la clase EventLog. Asocia la instancia a un registro en el equipo especificado y crea o asigna el origen especificado a EventLog.

NombreDescripción
System_CAPS_protpropertyCanRaiseEvents

Obtiene un valor que indica si el componente puede provocar un evento.(Heredado de Component).

System_CAPS_pubpropertyContainer

Obtiene IContainer que contiene Component.(Heredado de Component).

System_CAPS_protpropertyDesignMode

Obtiene un valor que indica si la Component está actualmente en modo de diseño.(Heredado de Component).

System_CAPS_pubpropertyEnableRaisingEvents

Obtiene o establece un valor que indica si EventLog recibe notificaciones de eventos EntryWritten.

System_CAPS_pubpropertyEntries

Obtiene el contenido del registro de eventos.

System_CAPS_protpropertyEvents

Obtiene la lista de controladores de eventos que se adjuntará a este Component.(Heredado de Component).

System_CAPS_pubpropertyLog

Obtiene o establece el nombre del registro del que se lee o en el que se escribe.

System_CAPS_pubpropertyLogDisplayName

Obtiene el nombre descriptivo del registro de eventos.

System_CAPS_pubpropertyMachineName

Obtiene o establece el nombre del equipo en el que se van a leer o en el que se van a escribir los eventos.

System_CAPS_pubpropertyMaximumKilobytes

Obtiene o establece el tamaño máximo del registro de eventos, en kilobytes.

System_CAPS_pubpropertyMinimumRetentionDays

Obtiene el número de días que se deben conservar las entradas en el registro de eventos.

System_CAPS_pubpropertyOverflowAction

Obtiene el comportamiento configurado para el almacenamiento de entradas nuevas cuando el registro de eventos haya alcanzado su tamaño máximo de archivo.

System_CAPS_pubpropertySite

Obtiene o establece la ISite de la Component.(Heredado de Component).

System_CAPS_pubpropertySource

Obtiene o establece el nombre de origen que se va a registrar y utilizar al escribir en el registro de eventos.

System_CAPS_pubpropertySynchronizingObject

Obtiene o establece el objeto utilizado para calcular las referencias de las llamadas del controlador de eventos emitidas como resultado de un evento escrito en una entrada de EventLog.

NombreDescripción
System_CAPS_pubmethodBeginInit()

Comienza la inicialización de un objeto EventLog que se emplea en un formulario o que utiliza otro componente. La inicialización se produce en tiempo de ejecución.

System_CAPS_pubmethodClear()

Quita todas las entradas del registro de eventos.

System_CAPS_pubmethodClose()

Cierra el registro de eventos y libera los identificadores de lectura y escritura.

System_CAPS_pubmethodSystem_CAPS_staticCreateEventSource(EventSourceCreationData)

Establece un origen de eventos válido para la escritura de mensajes de evento localizados, mediante las propiedades de configuración especificadas para el origen y el correspondiente registro de eventos.

System_CAPS_pubmethodSystem_CAPS_staticCreateEventSource(String, String)

Establece el nombre de origen especificado como origen de eventos válido para la escritura de entradas en un registro del equipo local. Este método también puede crear un nuevo registro personalizado en el equipo local.

System_CAPS_pubmethodSystem_CAPS_staticCreateEventSource(String, String, String)

Obsoleto. Establece el nombre de origen especificado como origen de eventos válido para la escritura de entradas en un registro del equipo especificado. Este método puede utilizarse también para crear un nuevo registro personalizado en el equipo especificado.

System_CAPS_pubmethodCreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar a un proxy utilizado para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodSystem_CAPS_staticDelete(String)

Quita un registro de eventos del equipo local.

System_CAPS_pubmethodSystem_CAPS_staticDelete(String, String)

Quita un registro de eventos del equipo especificado.

System_CAPS_pubmethodSystem_CAPS_staticDeleteEventSource(String)

Quita del registro de eventos del equipo local el registro del origen de eventos.

System_CAPS_pubmethodSystem_CAPS_staticDeleteEventSource(String, String)

Quita del equipo especificado el registro del origen de eventos de la aplicación.

System_CAPS_pubmethodDispose()

Libera todos los recursos usados por Component.(Heredado de Component).

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados utilizados por el objeto EventLog y, de forma opcional, libera los recursos administrados.(Invalida Component.Dispose(Boolean)).

System_CAPS_pubmethodEndInit()

Termina la inicialización de EventLog utilizada en un formulario o empleada por otro componente. La inicialización se produce en tiempo de ejecución.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_pubmethodSystem_CAPS_staticExists(String)

Determina si el registro existe en el equipo local.

System_CAPS_pubmethodSystem_CAPS_staticExists(String, String)

Determina si el registro existe en el equipo especificado.

System_CAPS_protmethodFinalize()

Libera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el elemento Component durante la recolección de elementos no usados.(Heredado de Component).

System_CAPS_pubmethodSystem_CAPS_staticGetEventLogs()

Busca todos los registros de eventos en el equipo local y crea una matriz de objetos EventLog que contiene la lista.

System_CAPS_pubmethodSystem_CAPS_staticGetEventLogs(String)

Busca todos los registros de eventos en el equipo dado y crea una matriz de objetos EventLog que contiene la lista.

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_protmethodGetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.(Heredado de Component).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodInitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodSystem_CAPS_staticLogNameFromSourceName(String, String)

Obtiene el nombre del registro en el que se registra el origen especificado.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficial del actual MarshalByRefObject objeto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodModifyOverflowPolicy(OverflowAction, Int32)

Cambia el comportamiento configurado para la escritura de entradas nuevas cuando el registro de eventos alcanza su tamaño máximo de archivo.

System_CAPS_pubmethodRegisterDisplayName(String, Int64)

Especifica el nombre localizado del registro de eventos, que aparece en el Visor de eventos del servidor.

System_CAPS_pubmethodSystem_CAPS_staticSourceExists(String)

Determina si un origen de eventos está registrado en el equipo local.

System_CAPS_pubmethodSystem_CAPS_staticSourceExists(String, String)

Determina si un origen de eventos está registrado en un equipo especificado.

System_CAPS_pubmethodToString()

Devuelve un String que contiene el nombre de la Component, si existe. Este método no se debe invalidar.(Heredado de Component).

System_CAPS_pubmethodWriteEntry(String)

Escribe una entrada de tipo de información, con un texto de mensaje determinado, en el registro de eventos.

System_CAPS_pubmethodWriteEntry(String, EventLogEntryType)

Escribe en el registro de eventos una entrada de error, advertencia, información, auditoría correcta o auditoría incorrecta con el texto de mensaje dado.

System_CAPS_pubmethodWriteEntry(String, EventLogEntryType, Int32)

Escribe una entrada con el identificador de eventos definido por la aplicación y el texto de mensaje dado en el registro de eventos.

System_CAPS_pubmethodWriteEntry(String, EventLogEntryType, Int32, Int16)

Escribe en el registro de eventos una entrada con el texto de mensaje dado, el identificador de eventos definido por la aplicación y la categoría definida por la aplicación.

System_CAPS_pubmethodWriteEntry(String, EventLogEntryType, Int32, Int16, Byte[])

Escribe en el registro de eventos una entrada con el texto de mensaje dado, el identificador de eventos definido por la aplicación y la categoría definida por la aplicación y anexa datos binarios al mensaje.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(String, String)

Escribe una entrada de tipo de información con un texto de mensaje determinado en el registro de eventos utilizando el origen de eventos registrado que se haya especificado.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(String, String, EventLogEntryType)

Escribe en el registro de eventos una entrada de error, advertencia, información, auditoría correcta o auditoría incorrecta con el texto de mensaje dado mediante el origen de eventos registrado especificado.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(String, String, EventLogEntryType, Int32)

Escribe en el registro de eventos una entrada con el texto de mensaje dado y el identificador de eventos definido por la aplicación mediante el origen de eventos registrado que se especifique.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(String, String, EventLogEntryType, Int32, Int16)

Escribe en el registro de eventos una entrada con el texto de mensaje dado, el identificador de eventos definido por la aplicación y la categoría definida por la aplicación mediante el origen de eventos registrado específico. El Visor de eventos puede usar el parámetro category para filtrar los eventos del registro.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(String, String, EventLogEntryType, Int32, Int16, Byte[])

Escribe en el registro de eventos una entrada con el texto de mensaje dado, el identificador de eventos definido por la aplicación y la categoría definida por la aplicación (mediante el origen de eventos registrado especificado) y anexa datos binarios al mensaje.

System_CAPS_pubmethodWriteEvent(EventInstance, Byte[], Object[])

Escribe una entrada de registro de eventos con los datos de evento dados, con cadenas de reemplazo de mensajes y con datos binarios asociados.

System_CAPS_pubmethodWriteEvent(EventInstance, Object[])

Escribe una entrada localizada en el registro de eventos.

System_CAPS_pubmethodSystem_CAPS_staticWriteEvent(String, EventInstance, Byte[], Object[])

Escribe una entrada de registro con los datos de evento dados, con cadenas de reemplazo de mensajes y con datos binarios asociados y, además, utiliza el origen de eventos registrado que se especifica.

System_CAPS_pubmethodSystem_CAPS_staticWriteEvent(String, EventInstance, Object[])

Escribe una entrada de registro de eventos con las cadenas de reemplazo de mensaje y los datos de evento proporcionados, para lo que utiliza el origen de eventos registrado.

NombreDescripción
System_CAPS_pubeventDisposed

Se produce cuando el componente se elimina mediante una llamada a la Dispose (método).(Heredado de Component).

System_CAPS_pubeventEntryWritten

Se produce cuando se escribe una entrada en un registro de eventos en el equipo local.

EventLog le permite tener acceso o personalizar los registros de eventos de Windows, que registre información acerca de eventos importantes de software o hardware. Con EventLog, puede leer de registros existentes, escribir entradas en registros, crear o eliminar orígenes de eventos, eliminar registros y responder a entradas de registro. También puede crear nuevos registros al crear un origen de eventos.

System_CAPS_importantImportante

Este tipo implementa la IDisposable interfaz. Cuando haya terminado de utilizar el tipo, debería eliminar, directa o indirectamente. Para deshacerse del tipo directamente, llame a su Dispose método en un try/catch bloque. Para deshacerse de él indirectamente, usar una construcción de lenguaje como using (en C#) o Using (en Visual Basic). Para obtener más información, consulte la sección "Uso de un objeto que implementa IDisposable" en el IDisposable tema de la interfaz.

Además de proporcionar acceso a los registros de eventos individuales y sus entradas, la EventLog clase le permite tener acceso a la colección de todos los registros de eventos. Puede usar el static los miembros de EventLog para eliminar registros, obtener listas de registros, crear o eliminar un origen o determinar si un equipo ya contiene un origen determinado.

Hay tres registros de eventos predeterminados: aplicación, sistema y seguridad. Un registro de seguridad es de solo lectura. Otras aplicaciones y servicios que instalar, como Active Directory, podrían tener registros de eventos adicionales.

Existen consideraciones de seguridad al utilizar el EventLog clase. EventLog requiere EventLogPermission permisos para acciones específicas en el .NET Framework 2.0 y versiones posteriores, o de plena confianza en .NET Framework 1.0 y 1.1. Se recomienda que EventLogPermission no se conceden al código de confianza parcial. Nunca debería pasar cualquier objeto de registro de eventos, incluidos EventLogEntryCollection y EventLogEntry objetos al código de menor confianza. Por ejemplo, creando un EventLog objeto, escribir una entrada y, a continuación, pasar la EventLog objeto al código de confianza parcial puede crear un problema de seguridad, porque la capacidad de leer y escribir en el registro de eventos permite que el código para realizar acciones como la emisión de mensajes de registro de eventos en el nombre de otra aplicación.

A partir de Windows Vista, Control de cuentas de usuario (UAC) determina las credenciales de un usuario. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador. De forma predeterminada, se le asignará el rol de usuario estándar. Para ejecutar el código que tiene acceso el registro de seguridad, primero debe elevar sus credenciales de usuario estándar a administrador. Puede hacerlo cuando inicie una aplicación abriendo el menú contextual de la aplicación (si está usando un mouse, haga clic en el icono de la aplicación) e indicando que desea ejecutarla como administrador.

Puede usar EventLog para crear registros de eventos personalizados que se pueden ver a través del servidor del Visor de eventos. Utilice la RegisterDisplayName método para mostrar un nombre localizado para el registro de eventos en el Visor de eventos. Utilice la ModifyOverflowPolicy método para configurar el comportamiento de su registro de eventos cuando alcanza su tamaño máximo del registro.

Para leer de un registro de eventos, especifique el nombre de registro (Log propiedad) y el nombre del equipo servidor (MachineName propiedad para el registro de eventos. Si no se especifica el nombre del equipo servidor, el equipo local, ".", se supone. No es necesario especificar el origen del evento (Source propiedad), porque es necesario sólo para escribir en registros de un origen. El Entries propiedad se rellena automáticamente con la lista del registro de eventos de entradas.

Para escribir en un registro de eventos, especificar o crear un origen de eventos (Source propiedad). Debe tener credenciales administrativas en el equipo para crear un nuevo origen de eventos. El origen de eventos registra la aplicación con el registro de eventos como un origen válido de entradas. Puede usar el origen de eventos para escribir en un único registro a la vez. El Source propiedad puede ser cualquier cadena aleatoria, pero el nombre debe ser diferente de otros orígenes en el equipo. Normalmente, el origen del evento es el nombre de la aplicación u otra cadena de identificación. Intentando crear un duplicado Source valor produce una excepción. Sin embargo, un solo registro de eventos puede asociarse con varios orígenes.

Si el origen de eventos para el registro de eventos asociado con el EventLog la instancia no existe, se crea un nuevo origen de eventos. Para crear un origen de eventos en Windows Vista y versiones posteriores o Windows Server 2003, debe tener credenciales administrativas.

Este requisito es porque se debe buscar todos los registros de eventos, incluidos los registros de seguridad, para determinar si el origen del evento es único. A partir de Windows Vista, los usuarios no tienen permiso para tener acceso al registro de seguridad; por lo tanto, un SecurityException se produce.

System_CAPS_importantImportante

Creación o eliminación de un origen de eventos requiere la sincronización del código subyacente utilizando una exclusión mutua con nombre. Si una aplicación con muchos privilegios bloquea la exclusión mutua con nombre, intenta crear o eliminar un origen de eventos hace que la aplicación deje de responder hasta que se libere el bloqueo. Para evitar este problema, no conceda nunca UnmanagedCode permiso al código no es de confianza. Además, UnmanagedCode permiso potencialmente permite omitir otros permisos y sólo debe concederse a código de plena confianza.

Aplicaciones y servicios deben escribir en el registro de aplicación o en un registro personalizado. Controladores de dispositivos deben escribir en el registro del sistema. Si no establece explícitamente la Log propiedad, el registro de eventos como el valor predeterminado para el registro de aplicación.

System_CAPS_noteNota

No hay nada para proteger una aplicación de escribir como cualquier origen registrado. Si se concede a una aplicación Write permiso, puede escribir eventos para cualquier origen válido registrado en el equipo.

Utilice la WriteEvent y WriteEntry métodos para escribir eventos en un registro de eventos. Debe especificar un origen de eventos para escribir los eventos; debe crear y configurar el origen del evento antes de escribir la primera entrada con el origen.

Crear el nuevo origen de eventos durante la instalación de la aplicación. Esto da tiempo para el sistema operativo actualizar la lista de orígenes de eventos registrados y su configuración. Si el sistema operativo no se ha actualizado la lista de orígenes de eventos y se intenta escribir un evento con el nuevo origen, que se producirá un error en la operación de escritura. Puede configurar un nuevo origen mediante un EventLogInstaller objeto o CreateEventSource método. Debe tener credenciales administrativas en el equipo para crear un nuevo origen de eventos.

Cada origen puede escribir en un único registro de eventos a la vez; Sin embargo, la aplicación puede utilizar varios orígenes para escribir en varios registros de eventos. Por ejemplo, la aplicación podría requerir configurados para diferentes registros de eventos o archivos de recursos de varios orígenes. Para cambiar los detalles de configuración de un origen existente, debe eliminar el origen y, a continuación, vuelva a crearla con la nueva configuración. Si otras aplicaciones o componentes utilizan el origen existente, crear un nuevo origen con la configuración actualizada en lugar de eliminar el origen existente.

Puede registrar el origen de eventos con los recursos localizados para las cadenas de categoría y el mensaje de evento. La aplicación puede escribir entradas del registro de eventos mediante identificadores de recursos en lugar de especificar los valores de cadena real. Consulte la EventLogInstaller y EventSourceCreationData para obtener más información acerca de cómo configurar su origen con archivos de recursos.

Si la aplicación escribe valores de cadena directamente en el registro de eventos, no es necesario establecer las propiedades de archivo del origen de recurso. El origen debe configurarse para escribir entradas adaptadas o cadenas directas. Si la aplicación escribe las entradas mediante identificadores de recursos y valores de cadena, debe registrarse dos orígenes diferentes. Por ejemplo, configurar un origen con archivos de recursos y, a continuación, usar ese origen en el WriteEvent método para escribir entradas mediante identificadores de recursos en el registro de eventos. A continuación, cree un origen diferente sin archivos de recursos y usarlo en el WriteEntry método para escribir cadenas directamente en el registro de eventos utilizando ese origen.

Al escribir eventos, debe especificar al menos una cadena de mensaje o el identificador de recurso para una cadena de mensaje. Otras propiedades de evento son opcionales. Ejemplos de configuración opcional de eventos incluyen lo siguiente:

  • Puede establecer el EventLogEntryType para especificar el icono que muestra el Visor de eventos para la entrada.

  • Puede especificar un identificador de categoría para el evento, si la aplicación utiliza categorías para filtrar los eventos.

  • Puede asociar datos binarios a la entrada del evento si desea asociar información adicional a un evento determinado.

System_CAPS_importantImportante

Registro de eventos consume espacio en disco, tiempo de procesador y otros recursos del sistema. Es importante registrar solamente información esencial. Se recomienda que coloque las llamadas de registro de eventos en una ruta de acceso de error, en lugar de en la ruta de acceso de código principal, así no afectar negativamente al rendimiento.

Para obtener una lista de valores de propiedad iniciales de una instancia de EventLog, consulte el EventLog constructor.

Win98WinMe

Event logs are not supported on Windows 98 or Windows Millennium Edition (Me).

En el ejemplo siguiente se crea el origen del evento MySource Si no existe ya y escribe una entrada en el registro de eventos MyNewLog.

System_CAPS_noteNota

A partir de Windows Vista, debe ejecutar esta aplicación como administrador.

using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
             //An event log source should not be created and immediately used.
             //There is a latency time to enable the source, it should be created
             //prior to executing the application that uses the source.
             //Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatedEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");

    }
}

.NET Framework
Disponible desde 1.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: