Cómo escribir en un registro de sucesos mediante Visual C#

Seleccione idioma Seleccione idioma
Id. de artículo: 307024 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo paso a paso muestra cómo agregar entradas al registro de sucesos del sistema operativo con Microsoft .NET Framework.

Requisitos

En la lista siguiente se describe el hardware, el software, la infraestructura de red y los Service Pack recomendados que necesitará:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server o Windows NT 4.0 Server
  • Microsoft Visual Studio C#

Escribir en un registro de sucesos

Los registros de sucesos proporcionan un medio estándar y centralizado para que las aplicaciones registren sucesos (eventos) de software y hardware importantes. Windows suministra una interfaz de usuario estándar para ver los registros: el Visor de sucesos. Mediante el componente EventLog de Common Language Run-time (CLR), puede conectarse a los registros de sucesos existentes fácilmente, tanto en equipos locales como remotos, y grabar datos en ellos. También puede leer las entradas de los registros existentes y crear sus propios registros de sucesos personalizados. En su forma más sencilla, grabar en un registro de sucesos sólo implica unos pocos pasos para crear una aplicación de ejemplo. Para ello, siga estos pasos:
  1. Abra Visual Studio C#.
  2. Cree una nueva aplicación de consola en Visual C#. La aplicación de consola crea automáticamente una clase pública y un método Main vacío.
  3. Compruebe que el proyecto hace referencia al último archivo System.dll.
  4. Utilice la directiva using en los espacios de nombres System y System.Diagnostics para que no tenga que calificar las declaraciones de esos espacios de nombres más adelante en el código. Debe utilizar estas instrucciones antes que cualquier otra declaración.
    using System;
    using System.Diagnostics;
    					
  5. Para escribir en un registro de sucesos, debe tener varios datos: el mensaje, el nombre del registro en el que desea grabar (que se creará si no existe ya) y una cadena que representa el origen del evento. Puede registrar un origen en particular con sólo un registro de sucesos; si desea escribir mensajes en más de un registro, debe definir varios orígenes.
    string sSource;
    string sLog;
    string sEvent;
    
    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";
    					
  6. Use dos métodos estáticos de la clase EventLog para comprobar si el origen existe y, entonces, si el origen no existe, para crear este origen que está asociado con un registro de sucesos concreto. Si el nombre del registro que especifique no existe, se crea automáticamente al escribir la primera entrada en el registro. De forma predeterminada, si no proporciona un nombre de registro en el método CreateEventSource, el archivo de registro se denomina "registro de aplicación".
    if (!EventLog.SourceExists(sSource))
    	EventLog.CreateEventSource(sSource,sLog);
    					
  7. Para escribir un mensaje en un registro de eventos, puede utilizar el método estático EventLog.WriteEntry. Este método tiene varias versiones diferentes sobrecargadas. El código de ejemplo siguiente muestra el método más sencillo (que admite una cadena de origen y el mensaje) y uno o varios métodos más complejos (lo que permite especificar el identificador y el tipo de evento):
    EventLog.WriteEntry(sSource,sEvent);
    EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);
    					
  8. Guarde la aplicación. Ejecute la aplicación y examine el registro de aplicación en el Visor de sucesos para ver los nuevos eventos.

Lista de códigos completa

using System;
using System.Diagnostics;

namespace WriteToAnEventLog_csharp
{
	/// Summary description for Class1.
	class Class1
	{
		static void Main(string[] args)
		{
			string sSource;
			string sLog;
			string sEvent;

			sSource = "dotNET Sample App";
			sLog = "Application";
			sEvent = "Sample Event";

			if (!EventLog.SourceExists(sSource))
				EventLog.CreateEventSource(sSource,sLog);

			EventLog.WriteEntry(sSource,sEvent);
			EventLog.WriteEntry(sSource, sEvent,
				EventLogEntryType.Warning, 234);
		}
	}
}
				
Nota: es un artículo de "PUBLICACIÓN RÁPIDA" creado directamente por la organización de soporte técnico de Microsoft. La información aquí contenida se proporciona como está, como respuesta a problemas que han surgido. Como consecuencia de la rapidez con la que lo hemos puesto disponible, los materiales podrían incluir errores tipográficos y pueden ser revisados en cualquier momento sin previo aviso. Vea las Condiciones de uso para otras consideraciones

Propiedades

Id. de artículo: 307024 - Última revisión: martes, 29 de abril de 2014 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Palabras clave: 
kbdebug kbhowtomaster KB307024

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com