Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

EventLog.WriteEntry (Método) (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.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)
'Declaración
Public Sub WriteEntry ( _
	message As String, _
	type As EventLogEntryType, _
	eventID As Integer, _
	category As Short, _
	rawData As Byte() _
)

Parámetros

message
Tipo: System.String
Cadena que se va a escribir en el registro de eventos.
type
Tipo: System.Diagnostics.EventLogEntryType
Uno de los valores de EventLogEntryType.
eventID
Tipo: System.Int32
Identificador específico de la aplicación para el evento.
category
Tipo: System.Int16
Subcategoría específica de la aplicación asociada al mensaje.
rawData
Tipo: System.Byte()
Matriz de bytes que incluye los datos binarios asociados a la entrada.
ExcepciónCondición
ArgumentException

Aún no se ha establecido la propiedad Source de EventLog.

O bien

El método ha intentado registrar un origen de eventos nuevo, pero el nombre de equipo de MachineName no es válido.

-O bien-

El origen ya está registrado para otro registro de eventos.

-O bien-

eventID es menor que cero o mayor que UInt16.MaxValue.

-O bien-

La cadena de mensaje es más de 31.839 bytes (32.766 bytes en los sistemas operativos Windows anterior a Windows Vista).

-O bien-

El nombre de origen produce una ruta de clave del Registro con una longitud superior a 254 caracteres.

InvalidOperationException

No se ha podido abrir la clave del Registro para el registro de eventos.

InvalidEnumArgumentException

type no es un EventLogEntryType válido.

Win32Exception

El sistema operativo ha notificado un error al escribir la entrada de evento en el registro. No hay ningún código de error de Windows disponible.

Utilice esta sobrecarga para escribir en el registro de eventos datos específicos del evento definidos por la aplicación. El Visor de eventos no interpreta estos datos; muestra datos sin procesar solamente en un formato hexadecimal y de texto combinado. Utilice los datos específicos del evento con moderación, incluyéndolos solamente si está seguro de que serán útiles para alguien que depure el problema. También se pueden utilizar datos específicos del evento para almacenar información que la aplicación puede procesar de forma independiente del Visor de eventos. Por ejemplo, se puede escribir un visor específicamente para los eventos o escribir un programa que examina el archivo de registro y crea informes que incluyen información de los datos específicos del evento.

Además de los datos binarios, se puede especificar una categoría definida por la aplicación y un identificador de eventos definido por la aplicación. 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 valor numérico, o bien utilizarla como identificador de recursos para mostrar una cadena de categoría adaptada.

NotaNota

La cadena message no puede contener %n, donde n es un valor entero (por ejemplo, %1), porque el visor de eventos lo trata como una cadena de inserción. Dado que una dirección de Protocolo de Internet, versión 6 (IPv6) puede contener esta secuencia de caracteres, no se puede registrar ningún mensaje de evento que contenga una dirección IPv6.

NotaNota

El parámetro category debe ser un valor positivo. Los valores de categoría negativos aparecen como un número positivo complementario en el visor de eventos. Por ejemplo, -10 aparece como 65.526, -1 como 65.535.

Para mostrar cadenas de categoría adaptadas en el Visor de eventos, será necesario utilizar un origen de eventos configurado con un archivo de recursos de categorías y establecer el parámetro category en un identificador de recursos de dicho archivo. Si el origen de eventos no tuviera un archivo de recursos de categoría configurado, o si la propiedad category especificada no indizara una cadena en el archivo de recursos de categoría, el Visor de eventos mostrará el valor numérico de categoría para esa entrada. Para configurar el archivo de recursos de categorías, junto con el número de cadenas de categoría que incluye, deberán utilizarse las clases EventLogInstaller o EventSourceCreationData.

Los identificadores de eventos, junto con el origen de eventos, identifican de forma única un evento. Cada aplicación puede definir sus propios eventos numerados y las cadenas de descripción a las que se asignan. Los visores de eventos muestran estos valores para ayudar al usuario a determinar qué ha podido salir mal y sugerirle nuevas acciones.

Finalmente, se puede especificar un EventLogEntryType para el evento que se escribe en el registro de eventos. El parámetro type se indica mediante un icono y un texto en la columna Tipo del Visor de eventos de un registro. Este parámetro indica si el tipo de evento es un error, una advertencia, una información o una auditoría de aciertos o de errores.

Se debe establecer la propiedad Source en el componente EventLog para poder escribir entradas en el Registro. El origen de eventos deberá crearse y configurarse antes de escribir la primera entrada con él.

El nuevo origen de eventos deberá crearse durante la instalación de la 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 aún no ha actualizado la lista de orígenes de eventos y se intenta escribir un evento con el nuevo origen, se producirá un error en la operación de escritura. Para configurar un nuevo origen, puede utilizarse EventLogInstaller o el método CreateEventSource. Es necesario contar con derechos administrativos en el equipo para crear un nuevo origen de eventos.

Si el origen especificado en la propiedad Source de esta instancia de EventLog no está registrado en el equipo donde el componente está escribiendo, WriteEntry llamará a CreateEventSource y registrará el origen.

NotaNota

Si no se especifica una propiedad MachineName para la instancia de EventLog antes de llamar a CreateEventSource o a WriteEntry, se supone que se trata del equipo local (".")

Si el sistema tuviera que registrar Source mediante una llamada a WriteEntry y la propiedad Log no estuviera establecida en la instancia de EventLog, se usará de manera predeterminada el registro de aplicaciones.

NotaNota

Los errores que se generan durante el proceso de registro de Source producen muchas de las excepciones enumeradas anteriormente.

El origen deberá configurarse para escribir o bien entradas adaptadas o bien cadenas directas. El método WriteEntry escribe la cadena especificada directamente en el registro de eventos, no utiliza un archivo de recursos de mensajes adaptado. Para escribir eventos mediante archivo de recursos de mensajes adaptado, deberá utilizarse el método WriteEvent.

Cuando una aplicación escriba entradas usando tanto identificadores de recursos como valores de cadena, deberán registrarse dos orígenes diferentes. Por ejemplo, puede configurarse un origen con archivos de recursos y usarlo en el método WriteEvent para escribir entradas en el registro de eventos mediante identificadores de recursos. A continuación, puede crearse otro origen sin archivos de recursos y usarlo en el método WriteEntry para escribir cadenas directamente en el registro de eventos.

NotaNota

Si se escribe una entrada en un equipo remoto, puede que el valor del mensaje (la cadena de texto) no sea el esperado si el equipo remoto no está ejecutando .NET Framework.

NotaNota

Si el parámetro message contiene un carácter NULL, el mensaje en el registro de eventos se finaliza en el carácter NULL.


' Create the source, if it does not already exist.
dim myLogName as string = "myNewLog"
If Not EventLog.SourceExists("MySource") Then
   EventLog.CreateEventSource("MySource", myLogName)
   Console.WriteLine("Creating EventSource")
else
   myLogName = EventLog.LogNameFromSourceName("MySource",".")
End If

' Create an EventLog and assign source.
Dim myEventLog As New EventLog()
myEventLog.Source = "MySource"
myEventLog.Log = myLogName

' Set the 'description' for the event.
Dim myMessage As String = "This is my event."
Dim myEventLogEntryType As EventLogEntryType = EventLogEntryType.Warning
Dim myApplicatinEventId As Integer = 1100
Dim myApplicatinCategoryId As Short = 1

' Set the 'data' for the event.
Dim myRawData(3) As Byte
Dim i As Integer
For i = 0 To 3
   myRawData(i) = 1
Next i
' Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ")
myEventLog.WriteEntry(myMessage, myEventLogEntryType, myApplicatinEventId, _
                     myApplicatinCategoryId, myRawData)


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.