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 EventInstance

 

Representa la información independiente del idioma para una entrada de registro de eventos.

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

System.Object
  System.Diagnostics.EventInstance

public class EventInstance

NombreDescripción
System_CAPS_pubmethodEventInstance(Int64, Int32)

Inicializa una nueva instancia de la EventInstance clase utilizando los identificadores de recursos especificado para el texto localizado del mensaje y la categoría de la entrada de evento.

System_CAPS_pubmethodEventInstance(Int64, Int32, EventLogEntryType)

Inicializa una nueva instancia de la EventInstance clase utilizando los identificadores de recursos especificado para el texto localizado del mensaje y la categoría de la entrada de evento y el tipo de entrada de registro de eventos especificado.

NombreDescripción
System_CAPS_pubpropertyCategoryId

Obtiene o establece el identificador de recursos que especifica la categoría definida por la aplicación de la entrada de evento.

System_CAPS_pubpropertyEntryType

Obtiene o establece el tipo de evento de la entrada de registro de eventos.

System_CAPS_pubpropertyInstanceId

Obtiene o establece el identificador de recursos que designa el texto del mensaje de la entrada de evento.

NombreDescripción
System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetHashCode()

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

System_CAPS_pubmethodGetType()

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

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_pubmethodToString()

Retorna una cadena que representa al objeto actual. (Heredado de Object).

Use EventInstance para escribir una entrada de registro de eventos con un identificador de recursos en lugar de un valor de cadena. Para escribir una entrada de registro de eventos, inicialice la InstanceId propiedad y pasar la instancia a la WriteEvent (método). El Visor de eventos utiliza el identificador de instancia para buscar y mostrar la cadena correspondiente del archivo de recursos localizados según la configuración de idioma actual. Debe registrar el origen de eventos con el archivo de recursos correspondiente antes de escribir eventos con identificadores de recursos.

Al escribir eventos, puede establecer el EntryType propiedad para especificar el icono que muestra el Visor de eventos para la entrada. También puede especificar un CategoryId propiedad para especificar la categoría que muestra el Visor de eventos para la entrada.

El Visor de eventos utiliza la categoría para filtrar los eventos escritos por un origen de eventos. El Visor de eventos puede mostrar la categoría como un valor numérico o la categoría puede usar como identificador de recursos para mostrar una cadena de categoría adaptada.

Para mostrar cadenas de categoría adaptadas en el Visor de eventos, debe utilizar un origen de eventos configurado con un archivo de recursos de categorías y establecer el CategoryId a un identificador de recurso en el archivo de recursos de categoría. Si el origen del evento no tiene un archivo de recursos de categoría configurado o especificado CategoryId no índice una cadena en el archivo de recursos de categoría y, a continuación, en el Visor de eventos muestra el valor numérico de categoría para esa entrada. Configurar el archivo de recursos de categoría, junto con el número de cadenas de categoría en el archivo de recursos utilizando el EventLogInstaller o la EventSourceCreationData clase.

Debe registrar un origen para un registro de eventos antes de usar EventInstance para escribir un evento con el WriteEvent método. El origen debe configurarse para escribir entradas adaptadas en el registro y deberá definir al menos un archivo de recursos de mensaje.

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 sus configuraciones. Si el sistema operativo no ha actualizado su 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, o mediante el CreateEventSource método. Debe tener derechos administrativos en el equipo para crear un nuevo origen de eventos.

Para obtener información detallada acerca de la definición de mensajes de eventos y la generación de archivos de recursos de registro de eventos, vea el tema "Compilador de mensajes" en la documentación de Platform SDK en http://msdn.microsoft.com.

Win98WinMe

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

En el ejemplo de código siguiente se escribe una entrada de evento informativa y, a continuación, se reutiliza el EventInstance para escribir una entrada para un evento de advertencia en un registro de eventos existente. El texto del mensaje de evento se especifica mediante un identificador de recursos en un archivo de recursos de mensaje. El ejemplo de código se supone que se ha registrado el correspondiente archivo de recursos de mensaje para el origen.


// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.

string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{
    // Define an informational event with no category.
    // The message identifier corresponds to the message text in the
    // message resource file defined for the source.
    EventInstance myEvent = new EventInstance(UpdateCycleCompleteMsgId, 0);

    // Write the event to the event log using the registered source.
    EventLog.WriteEvent(sourceName, myEvent);

    // Reuse the event data instance for another event entry.
    // Set the entry category and message identifiers for
    // the appropriate resource identifiers in the resource files
    // for the registered source.  Set the event type to Warning.

    myEvent.CategoryId = RefreshCategoryMsgId;
    myEvent.EntryType = EventLogEntryType.Warning;
    myEvent.InstanceId = ServerConnectionDownMsgId;

    // Write the event to the event log using the registered source.
    // Insert the machine name into the event message text.
    EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName);
}
else 
{
    Console.WriteLine("Warning - event source {0} not registered", 
        sourceName);
}

El ejemplo de código utiliza el siguiente archivo de texto de mensaje, integrado en la biblioteca de recursos EventLogMsgs.dll. Un archivo de texto de mensaje es el origen desde el que se creó el archivo de recursos de mensaje. El archivo de texto de mensaje define los identificadores de recursos y el texto de categoría, mensaje de evento y las cadenas de inserción de parámetro.

; // EventLogMsgs.mc
; // ********************************************************

; // Use the following commands to build this file:

; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 
; // ********************************************************

; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.

MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.

MessageId=0x3
Severity=Success
SymbolicName=REFRESH_CATEGORY
Language=English
Data Refresh
.

; // - Event messages -
; // *********************************

MessageId = 1000
Severity = Success
Facility = Application
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000
Language=English
My application message text, in English, for message id 1000, called from %1.
.

MessageId = 1001
Severity = Warning
Facility = Application
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001
Language=English
My application message text, in English, for message id 1001, called from %1.
.


MessageId = 1002
Severity = Success
Facility = Application
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002
Language=English
My generic information message in English, for message id 1002.
.


MessageId = 1003
Severity = Warning
Facility = Application
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003
Language=English
My generic warning message in English, for message id 1003, called from %1.
.


MessageId = 1004
Severity = Success
Facility = Application
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004
Language=English
The update cycle is complete for %%5002.
.


MessageId = 1005
Severity = Warning
Facility = Application
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005
Language=English
The refresh operation did not complete because the connection to server %1 could not be established.
.


; // - Event log display name -
; // ********************************************************


MessageId = 5001
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID
Language=English
Sample Event Log
.



; // - Event message parameters -
; //   Language independent insertion strings
; // ********************************************************


MessageId = 5002
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID
Language=English
SVC_UPDATE.EXE
.

.NET Framework
Disponible desde 2.0

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: