Artigo: 307024 - Última revisão: segunda-feira, 11 de Dezembro de 2006 - Revisão: 3.9

Como escrever um registo de eventos utilizando o Visual C#

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo passo a passo mostra como adicionar as suas próprias entradas de registo de eventos do sistema operativo utilizando o Microsoft .NET Framework.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs, terá de:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio C#

Escrever um registo de eventos

Registo de eventos fornece um modo padrão e centralizado para as aplicações registar eventos de software e hardware importantes. O Windows fornece uma interface de utilizador padrão para visualizar os registos, o Visualizador de eventos. Utilizando o componente de registo de eventos de tempo de execução do idioma comum, pode ligar a registos de eventos existentes facilmente, em computadores locais e remotos e escrever entradas para estes registos. Também pode ler entradas de registos existentes e criar os seus próprios registos de eventos personalizados. Na sua forma mais simples, escrever um registo de eventos envolve apenas alguns passos para criar uma aplicação de exemplo. Para o fazer, siga estes passos:
  1. Abra o Visual Studio C#.
  2. Crie uma nova aplicação de consola no Visual C#. A aplicação de consola cria uma classe pública e um método Main vazio.
  3. Verifique se o projecto referenciado pelo menos o ficheiro System.dll.
  4. Utilize a directiva utilizando espaços de nomes System.Diagnostics e de sistema para que não é necessário que qualificar declarações destes espaços de nomes mais tarde no código. Tem de utilizar estas instruções antes de quaisquer outras declarações.
    using System;
    using System.Diagnostics;
    					
  5. Para escrever um registo de eventos, tem de ter várias partes de informação: A mensagem, o nome do registo ao qual pretende escrever (que será criada se não existir) e uma cadeia que representa a origem do evento. Pode registar uma determinada origem com apenas um registo de eventos; se pretender escrever mensagens mais do que um registo, tem de definir várias origens.
    string sSource;
    string sLog;
    string sEvent;
    
    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";
    					
  6. Utilizar dois métodos estáticos da classe de registo de eventos para verificar se existe a origem e, em seguida, se a origem não existe, para criar esta origem está associada um determinado registo de eventos. Se o nome de registo que especificar não existir, o nome é criado automaticamente quando escreve a primeira entrada no registo. Por predefinição, se não fornecer um nome de registo para o método CreateEventSource , o ficheiro de registo é denominado "Registo de aplicações".
    if (!EventLog.SourceExists(sSource))
    	EventLog.CreateEventSource(sSource,sLog);
    					
  7. Para escrever uma mensagem para um registo de eventos, pode utilizar o método estático EventLog.WriteEntry . Este método tem várias versões diferentes de sobrecarregado. O código de exemplo seguinte mostra o método mais simples, que utiliza uma cadeia de origem e a mensagem e um dos métodos mais complexos, que suporta a especificar o ID do evento e o tipo de evento:
    EventLog.WriteEntry(sSource,sEvent);
    EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);
    					
  8. Guarde a aplicação. Executar a aplicação e, em seguida, consulte o registo aplicação no Visualizador de eventos para ver os novos eventos.

Listagem de código completo

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);
		}
	}
}
				

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: 
kbmt kbdebug kbhowtomaster KB307024 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 307024  (http://support.microsoft.com/kb/307024/en-us/ )