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

EventLog.CreateEventSource (Método) (String, String, String)

 
Nota: esta API está ahora obsoleta.

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.

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

[ObsoleteAttribute("This method has been deprecated.  Please use System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData) instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
public static void CreateEventSource(
	string source,
	string logName,
	string machineName
)

Parámetros

source

Origen mediante el que se registra la aplicación en el equipo especificado.

logName

Nombre del registro en el que se escriben las entradas del origen.Entre los posibles valores se incluye Aplicación, Sistema o un registro de eventos personalizado.Si no se especifica un valor logName toma Aplicación como valor predeterminado.

machineName

Nombre del equipo con el que se va a registrar este origen de eventos o "." para el equipo local.

Exception Condition
ArgumentException

El machineName no es un nombre de equipo válido.

o bien

source es una cadena vacía ("") o null.

o bien

logName no es un nombre válido de registro de eventos.Los nombres de registros de eventos deben estar formados por caracteres imprimibles, a excepción de '*', '?' y '\'.

o bien

logName no es válido para la creación de registros de usuario.Los nombres de registro de eventos AppEvent, SysEvent y SecEvent están reservados para uso del sistema.

o bien

El nombre del registro coincide con el nombre de un origen de eventos ya existente.

o bien

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

o bien

Los 8 primeros caracteres de logName coincidencia de nombre de los 8 primeros caracteres de un registro de eventos existente en el equipo especificado.

o bien

No puede registrarse el origen porque ya existe en el equipo especificado.

o bien

El nombre del origen coincide con el nombre de un origen de eventos ya existente.

InvalidOperationException

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

Utilice esta sobrecarga para crear un registro personalizado o para crear y registrar un Source en un registro existente en el equipo especificado.

Si logName es null o una cadena vacía ("") al llamar a CreateEventSource, el registro toma como valor predeterminado el registro de aplicación.Si el registro no existe en el equipo especificado, el sistema crea un registro personalizado y registra la aplicación como un Source para ese registro.

Sólo necesitará crear un origen de eventos si se va a escribir en el registro de eventos.Antes de escribir una entrada en un registro de eventos, debe registrar el origen de eventos con el registro de eventos como un origen válido de eventos.Cuando se escribe una entrada del registro, el sistema utiliza el Source para buscar el registro adecuado en el que colocar la entrada.Si está leyendo el registro de eventos, puede especificar el Source, o Log y MachineName.

System_CAPS_noteNota

Para crear un origen de eventos en Windows Vista y versiones posteriores o Windows Server 2003, debe tener privilegios administrativos.

El motivo de este requisito es que deben buscarse todos los registros de eventos, incluida la seguridad, para determinar si el origen del evento es único.En Windows Vista y versiones posteriores, los usuarios no tienen permiso para tener acceso al registro de seguridad; por lo tanto, un SecurityException se produce.

En Windows Vista y versiones posteriores, el Control de cuentas de usuario (UAC) determina los privilegios 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 los privilegios de usuario estándar a administrador.Puede hacerlo cuando inicie una aplicación haciendo clic en el icono de la aplicación y que indica que desea ejecutar como administrador.

Use WriteEvent y WriteEntry 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 ha actualizado su lista de orígenes de eventos e 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 utilizando la CreateEventSource (método).Debe tener derechos administrativos en el equipo para crear un nuevo origen de eventos.

Puede crear un origen de eventos para un registro de eventos existente o un registro de eventos.Cuando se crea un nuevo origen para un registro de eventos, el sistema registra el origen de ese registro, pero el registro no se crea hasta que la primera entrada que se escriba en él.

El sistema operativo almacena los registros de eventos como archivos.Cuando se utiliza EventLogInstaller o CreateEventSource para crear un registro de eventos, el archivo asociado se guarda en el directorio %SystemRoot%\System32\Config del equipo especificado.El nombre de archivo se establece anexando los 8 primeros caracteres de la Log propiedad con la extensión de nombre de archivo ".evt".

El origen debe ser único en el equipo local; un nuevo nombre de origen no puede coincidir con un nombre de origen existente o un nombre de registro de eventos existente.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 varios orígenes que se configura para diferentes registros de eventos o archivos de recursos.

El origen debe configurarse para escribir entradas adaptadas o cadenas directas.Si la aplicación escribe las entradas mediante identificadores de recursos y los 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.

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

System_CAPS_noteNota

Si un origen ya se ha asignado a un registro y vuelve a un nuevo registro, debe reiniciar el equipo para que surtan efecto los cambios.

En el ejemplo siguiente se crea el origen de MySource en el equipo MyServer, y escribe una entrada en el registro de eventos MyNewLog.

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", "MyServer"))
        {
            // 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", "MyServer");
            Console.WriteLine("CreatingEventSource");
            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.");

        Console.WriteLine("Message written to event log.");                                                                        
    }
}

EventLogPermission

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

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: