Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

EventSourceCreationData (Constructor)

Inicializa una nueva instancia de la clase EventSourceCreationData con un origen de eventos y un nombre de registro de eventos especificados.

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

public EventSourceCreationData(
	string source,
	string logName
)

Parámetros

source
Tipo: System.String
Nombre que se va a registrar con el registro de eventos como origen de entradas.
logName
Tipo: System.String
El nombre del registro en el que se escriben las entradas del origen.

Para escribir entradas en un registro de eventos, debe crear un origen de eventos primero para este registro. Con el fin de registrar un nuevo origen, inicialice una instancia EventSourceCreationData, configure sus propiedades para la aplicación y llame al método EventLog.CreateEventSource(EventSourceCreationData). Después de que se registre el origen, puede escribir las entradas del origen mediante los métodos WriteEvent o WriteEntry.

El origen de eventos puede registrarse con recursos adaptados para la categoría de eventos y las cadenas de mensaje. Una aplicación puede escribir entradas del registro de eventos mediante identificadores de recursos en lugar de especificar la cadena real. El visor de eventos utiliza el identificador del recurso para buscar y mostrar, en función de la configuración de idioma actual, la correspondiente cadena del archivo de recursos adaptado. Puede registrarse un archivo independiente para las cadenas de categoría de eventos, mensajes e inserción de parámetros, o bien un mismo archivo de recursos para los tres tipos de cadenas. Las propiedades CategoryCount, CategoryResourceFile, MessageResourceFile y ParameterResourceFile se emplean para configurar un origen para la escritura de entradas adaptadas en el registro de eventos. Cuando una aplicación escribe valores de cadena directamente en el registro de eventos, no es necesario establecer estas propiedades.

El origen deberá configurarse para escribir o bien entradas adaptadas o bien cadenas directas. 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, se puede crear otro origen sin archivos de recursos y usarlo en el método WriteEntry para escribir cadenas directamente en el registro de eventos.

La siguiente tabla muestra los valores de propiedad iniciales de EventSourceCreationData.

Propiedad

Valor inicial

Source

Parámetro source.

LogName

Parámetro logName.

MachineName

Equipo local (".").

CategoryCount

Cero

CategoryResourceFile

null (Nothing en Visual Basic).

MessageResourceFile

null (Nothing en Visual Basic).

ParameterResourceFile

null (Nothing en Visual Basic).

En el ejemplo de código siguiente se determina si el origen de eventos denominado SampleApplicationSource está registrado en el equipo local. Si no existiera, se establecerá el archivo de recursos de mensajes para el origen y se creará el nuevo origen de eventos. Finalmente, en este ejemplo se establece el nombre de presentación adaptado para el registro de eventos, utilizando el valor del identificador de recursos en DisplayNameMsgId y la ruta de acceso del archivo de recursos en messageFile.


static void CreateEventSourceSample1(string messageFile)
{
    string myLogName;
    string sourceName = "SampleApplicationSource";

    // Create the event source if it does not exist.
    if(!EventLog.SourceExists(sourceName))
    {
        // Create a new event source for the custom event log
        // named "myNewLog."  

        myLogName = "myNewLog";
        EventSourceCreationData mySourceData = 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 (!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 parameter strings.  

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

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

        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,".");
    }

    // 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.
    EventLog myEventLog = new EventLog(myLogName, ".", sourceName);

    if (messageFile.Length > 0)
    {
        myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId);
    }
}


En el ejemplo de código se utiliza el archivo de texto de mensaje siguiente, incluido en la biblioteca de recursos EventLogMsgs.dll. Un archivo de texto de mensaje es el origen desde el que se crea el archivo de recursos de mensaje. En el archivo de texto de mensaje se definen los identificadores de recursos y el texto para las cadenas de categoría, mensaje de eventos e inserción de parámetros.

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

Compatible con: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft