Como gravar em um log de eventos usando o Visual C#

Traduções deste artigo Traduções deste artigo
ID do artigo: 307024 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo mostra como adicionar suas próprias entradas de log de eventos do sistema operacional usando o .NET Framework.

Requisitos

A lista a seguir descreve o hardware, software, infraestrutura de rede e service packs recomendados que você precisará:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio C#

Gravar um log de eventos

O log de eventos fornece uma maneira padrão, centralizada para seus aplicativos registrarem eventos de software e hardware importantes. O Windows fornece uma interface de usuário padrão para exibir os logs, o Visualizar de eventos. Ao usar o componente common language's run-time EventLog, você pode conectar-se a logs de eventos existentes facilmente, tanto em computadores locais como em remotos, e gravar entradas nestes logs. Você também pode ler entradas de logs existentes e criar seus próprios logs de eventos personalizados. Na sua forma mais simples, gravar em um log de eventos envolve somente algumas etapas para criar um exemplo de aplicativo. Para fazer isso, siga estas etapas:
  1. Abra o Visual Studio C#.
  2. Criar um novo aplicativo de Console no Visual C#. O aplicativo do Console cria uma classe pública e um método Main vazio para você.
  3. Verifique se o projeto pelo menos faz referência ao arquivo System. dll.
  4. Use a diretiva using nos namespaces System e System.Diagnostics para que não seja necessário qualificar as declarações a partir destes namespaces posteriormente no código. Você deve usar estas declarações antes de quaisquer outras declarações.
    using System;
    using System.Diagnostics;
    					
  5. Para gravar em um log de eventos, você deve ter várias partes de informações: A sua mensagem, o nome do log que você deseja gravar (que será criado se ainda não existe) e uma cadeia de caracteres que representa a fonte o evento. Você pode registrar uma determinada fonte com apenas um único log de eventos; se você deseja gravar mensagens em mais de um log, você deve definir várias fontes.
    string sSource;
    string sLog;
    string sEvent;
    
    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";
    					
  6. Use dois métodos estáticos da classe EventLog para verificar se a fonte existe, e depois, se a fonte não existe, criar esta fonte que está associada com um log de eventos em particular. Se o nome do log que você especificou não existe, o nome é criado automaticamente quando você grava sua primeira entrada no log. Por padrão, se você não fornecer um nome do logo ao método CreateEventSource, o arquivo de log é nomeado "Log do Aplicativo".
    if (!EventLog.SourceExists(sSource))
    	EventLog.CreateEventSource(sSource,sLog);
    					
  7. Para gravar uma mensagem em um log de eventos, você pode usar o método estático EventLog. Este método tem várias versões sobrecarregadas diferentes. O seguinte código de exemplo mostra o método mais simples, que usa uma cadeia de caracteres de origem e sua mensagem, e um dos métodos mais complexos, que suporta a ID do evento e o tipo de evento:
    EventLog.WriteEntry(sSource,sEvent);
    EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);
    					
  8. Salve o seu aplicativo. Execute o aplicativo e o log do aplicativo no Visualizador de eventos para ver os novos eventos.

Lista completa de códigos

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);
		}
	}
}
				
Observação: este é um artigo de ?PUBLICAÇÃO RÁPIDA? criado diretamente pela organização de suporte da Microsoft. As informações aqui contidas são fornecidas no presente estado, em resposta a questões emergentes. Como resultado da velocidade de disponibilização, os materiais podem incluir erros tipográficos e poderão ser revisados a qualquer momento, sem aviso prévio. Consulte os Termos de Uso para ver outras informações.

Propriedades

ID do artigo: 307024 - Última revisão: terça-feira, 29 de abril de 2014 - Revisão: 1.0
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbdebug kbhowtomaster KB307024

Submeter comentários

 

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