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

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

Establece, mediante el nombre de origen especificado, una aplicación como origen de eventos válido para la escritura de entradas en un registro del equipo local. Este método también puede crear un nuevo registro personalizado en el equipo local.

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

public:
static void CreateEventSource(
	String^ source, 
	String^ logName
)

Parámetros

source
Tipo: System::String
Nombre del origen por el que se registra la aplicación en el equipo local.
logName
Tipo: System::String
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.

ExcepciónCondición
ArgumentException

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

– O bien –

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

– O bien –

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

InvalidOperationException

No se ha podido abrir en el equipo local 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 local.

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 local, el sistema crea un registro personalizado y registra la aplicación como el origen (Source) para ese registro.

NotaNota

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

La razón de este requisito es que deben buscarse todos los registros de eventos, incluidos los de seguridad, para determinar si el origen del evento es único. A partir de Windows Vista, los usuarios no tienen permiso de acceso al registro de seguridad; por tanto, se produce una excepción SecurityException.

En Windows Vista y 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 al registro de seguridad, primero debe elevar el nivel de sus privilegios de usuario estándar a administrador. Podrá hacerlo cuando inicie una aplicación haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutarla como administrador.

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.

NotaNota

No es necesario especificar MachineName para conectarse a un registro del equipo local. Si no se especifica MachineName cuando se lee de un registro, se supone que se trata del equipo local (".").

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

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 de ese registro, pero éste no se crea hasta que no se escriba 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 registros de eventos o archivos de recursos diferentes.

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, si es que aún no existe, y se escribe una entrada en el registro de eventos MyNewLog.


#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{

   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      //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" );
      Console::WriteLine( "CreatingEventSource" );
      // The source is created.  Exit the application to allow it to be registered.
      return 0;
   }


   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew EventLog;
   myLog->Source = "MySource";

   // Write an informational entry to the event log.    
   myLog->WriteEntry( "Writing to event log." );
}



.NET Framework

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

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, 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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft