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

Método EventLog.RegisterDisplayName (String, Int64)

 

Publicado: octubre de 2016

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

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

<ComVisibleAttribute(False)>
Public Sub RegisterDisplayName (
	resourceFile As String,
	resourceId As Long
)

Parámetros

resourceFile
Type: System.String

Ruta de acceso completa a un archivo de recursos localizado.

resourceId
Type: System.Int64

Identificador de recursos que indiza una cadena localizada dentro del archivo de recursos.

Exception Condition
InvalidOperationException

El Log valor no es un nombre de registro válido.

o bien

No se pudo abrir la clave del registro para el registro de eventos en el equipo de destino.

ArgumentNullException

El valor de resourceFile es null.

Use RegisterDisplayName para registrar y mostrar un nombre adaptado en el Visor de eventos para el registro de eventos personalizado.

El identificador de recurso especificado debe corresponder a una cadena localizada que se definen en el archivo de recursos. El Visor de eventos muestra el nombre de registro de eventos personalizado utilizando la cadena adaptada y la configuración de la referencia cultural actual. Por ejemplo, puede definir varios nombres de registro de eventos adaptados para distintas referencias culturales en el archivo de recursos. El Visor de eventos muestra la cadena localizada correspondiente a la configuración de la referencia cultural del usuario actual.

Si el Visor de eventos no se puede cargar la cadena localizada del archivo de recursos, o si se ha registrado ningún nombre para mostrar para el registro de eventos, el Visor de eventos muestra el nombre del registro de eventos definido en Log.

System_CAPS_noteNota

No es necesario registrar un nombre para mostrar para los registros de eventos predefinidos. El sistema operativo registra los nombres para mostrar localizado para los registros de eventos de aplicación, sistema y seguridad.

En el ejemplo siguiente se determina si el origen de eventos denominado SampleApplicationSource está registrado en el equipo local. Si el origen del evento no existe, el ejemplo establece el archivo de recursos de mensaje para el origen y crea el nuevo origen de eventos. Por último, el ejemplo establece el nombre para mostrar traducido para el registro de eventos utilizando el valor de identificador de recursos en DisplayNameMsgId y la ruta de acceso del archivo de recursos en messageFile.

Public Shared Sub CreateEventSourceSample1(ByVal messageFile As String)

    Dim myLogName As String
    Dim sourceName As String = "SampleApplicationSource"

    ' Create the event source if it does not exist.
    If Not EventLog.SourceExists(sourceName)

        ' Create a new event source for the custom event log
        ' named "myNewLog."  

        myLogName = "myNewLog"
        Dim mySourceData As EventSourceCreationData = New EventSourceCreationData(sourceName, myLogName)

        ' Set the message resource file that the event source references.
        ' All event resource identifiers correspond to text in this file.
        If Not System.IO.File.Exists(messageFile)

            Console.WriteLine("Input message resource file does not exist - {0}", _
                messageFile)
            messageFile = ""
        Else 
            ' Set the specified file as the resource
            ' file for message text, category text and 
            ' message parameters strings.

            mySourceData.MessageResourceFile = messageFile
            mySourceData.CategoryResourceFile = messageFile
            mySourceData.CategoryCount = CategoryCount
            mySourceData.ParameterResourceFile = messageFile

            Console.WriteLine("Event source message resource file set to {0}", _
                messageFile)
        End If

        Console.WriteLine("Registering new source for event log.")
        EventLog.CreateEventSource(mySourceData)
    Else
        ' Get the event log corresponding to the existing source.
        myLogName = EventLog.LogNameFromSourceName(sourceName,".")
    End If

    ' Register the localized name of the event log.
    ' For example, the actual name of the event log is "myNewLog," but
    ' the event log name displayed in the Event Viewer might be
    ' "Sample Application Log" or some other application-specific
    ' text.
    Dim myEventLog As EventLog = New EventLog(myLogName, ".", sourceName)

    If messageFile.Length > 0
        myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId)
    End If
End Sub

El ejemplo 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. En concreto, el identificador de recursos 5001 se define para el nombre traducido del registro de eventos.

; // 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
.

EventLogPermission

for administering event log information on the computer. Associated enumeration: F:System.Diagnostics.EventLogPermissionAccess.Administer

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: