Esta documentación está archivada y no tiene mantenimiento.

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

NOTA: este método ya está obsoleto.

Establece una aplicación mediante la propiedad Source especificada, como un origen de eventos válido para escribir entradas en un registro en el equipo especificado por machineName. 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
)
/** @attribute 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
)
ObsoleteAttribute("This method has been deprecated.  Please use System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData) instead.  http://go.microsoft.com/fwlink/?linkid=14202") 
public static function CreateEventSource (
	source : String, 
	logName : String, 
	machineName : String
)
No aplicable.

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. Posibles valores: 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.

Tipo de excepciónCondición

ArgumentException

machineName no es un nombre de equipo válido.

O bien

source es una cadena vacía ("") o referencia null (Nothing en Visual Basic).

O bien

logName no es un nombre de registro de eventos válido. Los nombres de los registros de eventos han de estar compuestos por caracteres imprimibles, excluidos '*', '?', o '\'.

O bien

El nombre del registro especificado en sourceData 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 coinciden con los 8 primeros caracteres del nombre de un registro de eventos ya 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 la propiedad Source en un registro existente en el equipo especificado.

Si logname es referencia null (Nothing en Visual Basic) o una cadena vacía ("") al llamar al método CreateEventSource, el registro toma como valor predeterminado el registro de aplicaciones. Si el registro no existe en el equipo especificado, el sistema crea un registro personalizado y registra la aplicación como el origen (Source) para ese registro.

Solamente es necesario crear un origen de eventos si se está escribiendo en el registro de eventos. Antes de escribir una entrada en un registro de eventos, se debe registrar el origen de eventos con el registro de eventos como origen de eventos válido. Cuando se escribe una entrada del Registro, el sistema utiliza Source para buscar el registro adecuado donde agregarla. Si se está leyendo el registro de eventos, se pueden especificar las propiedades Source o Log y MachineName.

Para escribir eventos en un registro de eventos, deberán utilizarse WriteEvent y WriteEntry. Para escribir eventos, es necesario especificar un origen de eventos; asimismo, antes de escribir la primera entrada con el origen, es necesario crearlo y configurarlo.

El nuevo origen de eventos deberá crearse durante la instalación de la aplicación. De esta manera, el sistema operativo dispondrá de tiempo para actualizar la lista de orígenes de eventos registrados y sus configuraciones. 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 de 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.

Puede crearse un origen de eventos para un registro de eventos ya existente o para uno nuevo. Cuando se crea un origen para un registro de eventos nuevo, el sistema registra el origen del Registro, pero éste no se crea hasta que no se escribe la primera entrada en él.

El sistema operativo guarda los registros de eventos como archivos. Cuando se utiliza EventLogInstaller o CreateEventSource para crear un registro de eventos nuevo, 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 propiedad Log con la extensión de nombre de archivo ".evt".

El origen ha de ser único en el equipo local (un nombre de origen nuevo no puede coincidir con otro anterior o con el de un registro de eventos ya existente). Aunque cada origen sólo puede escribir en un registro de eventos a la vez, la aplicación puede utilizar varios orígenes para escribir en diversos registros. Por ejemplo, una aplicación podría requerir la configuración de varios orígenes para diferentes registros de eventos o archivos de recursos.

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, puede crearse otro origen sin archivos de recursos y usarlo en el método WriteEntry para escribir cadenas directamente en el registro de eventos.

Para cambiar los detalles de configuración de un origen ya existente, será necesario eliminarlo primero para volver a crearlo con la nueva configuración. Si otras aplicaciones o componentes lo estuvieran utilizando, en lugar de eliminarlo, deberá crearse uno nuevo con la configuración actualizada.

NotaNota:

Cuando un origen asignado a un registro vuelve a asignarse a otro registro, es necesario reiniciar el equipo para que los cambios surtan efecto.

En el siguiente ejemplo se crea el origen MySource en el equipo MyServer y se 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.");                                                                        
    }
}
   

import System.*;
import System.Diagnostics.*;
import System.Threading.*;

class MySample
{
    public static void main(String[] args)
    {
        // Create the source, if it does not already exist.
        if (!(EventLog.SourceExists("MySource", "MyServer"))) {
            EventLog.CreateEventSource("MySource", "MyNewLog", "MyServer");
            Console.WriteLine("CreatingEventSource");
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.set_Source("MySource");

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");
        Console.WriteLine("Message written to event log.");
    } //main
} //MySample

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 1.0, 1.1, 2.0
Obsoleto (advertencia del compilador) en 3.0
Mostrar: