Você está offline; aguardando reconexão

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

Para obter uma versão deste artigo referente ao Microsoft Visual C++ .NET, consulte 815661.
Para obter uma versão deste artigo referente ao Microsoft Visual Basic .NET, consulte 301279.

Este artigo se refere ao seguinte namespace do Microsoft .NET Framework Class Library:
  • System.Diagnostics

NESTA TAREFA

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.

voltar ao início

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#
voltar ao início

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.
voltar ao início

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);		}	}}				
voltar ao início
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: 04/29/2014 10:22:00 - Revisão: 1.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition

  • kbdebug kbhowtomaster KB307024
Comentários
m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">