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

Traduções deste artigo Traduções deste artigo
ID do artigo: 815661 - Exibir os produtos aos quais esse artigo se aplica.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 307024.
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 301279.

Este artigo se refere ao Microsoft .NET Framework Class Library seguintes namespaces:
  • sistema
  • System.Diagnostics
Expandir tudo | Recolher tudo

Neste artigo

INTRODUÇÃO

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

Mais Informações

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft Visual Studio 2005

Gravar um log de eventos

Log de eventos fornece uma maneira padrão e centralizada para seus aplicativos registrar eventos importantes de software e hardware. Windows fornece uma interface de usuário padrão para exibir os logs: o recurso Visualizar eventos. Usando o componente de log de eventos de tempo de execução idioma comum, pode se conectar aos logs de eventos existentes facilmente, em computadores locais e remotos e gravar entradas para esses logs. Você também pode ler entradas de logs existentes e criar seus próprios logs de eventos personalizados. Em sua forma mais simples, gravar um log de eventos envolve várias etapas para criar um aplicativo de exemplo.

Para fazer isso, execute as seguintes etapas:
  1. Inicie o Visual Studio .NET ou Visual Studio 2005.
  2. Crie um novo projeto Visual C++ Managed C++ Application.

    Observação No Visual C++ .NET 2003, execute estas etapas:
    1. Em Project Types , clique em Projetos do Visual c++ .
    2. Em modelos , clique em Aplicativo de console (NET) .
    No Visual C++ 2005, siga estas etapas:
    1. Em Project Types , clique em Visual C++ .
    2. Em modelos , clique em Aplicativo de console CLR .
  3. Adicione uma referência a system.dll adicionando a seguinte linha de código:
    #using <system.dll>
  4. Usar usando a diretiva sobre os sistema e System::Diagnostics espaços para nome para que não seja necessário que qualificar declarações desses namespaces posteriormente no seu código. Você deve usar as instruções a seguir antes de qualquer outra declaração:
    using namespace System;
    using namespace System::Diagnostics;
  5. Para gravar um log de eventos, você deve ter várias partes de informações: A mensagem, o nome do log de você para onde você deseja gravar (isso é criado se ele já não existir) e uma seqüência de caracteres que representa a fonte do evento. Você pode registrar uma fonte específica com apenas um único log de eventos; se você quiser gravar mensagens em mais de um log, você deve definir várias fontes.
    String *sSource;
    	String *sLog;
    	String *sEvent;
    
    	sSource = new String("dotNET Sample App1");
    	sLog = new String("Application1");
    	sEvent = new String("Sample Event1");
    
  6. Use dois métodos estáticos da classe EventLog para verificar se a fonte existe e se a fonte não existe, para criar essa fonte que está associado a um log de evento específico. Se o nome do log que você especifica não existir, o nome é criado automaticamente quando você gravar sua primeira entrada no log. Por padrão, se você não fornecer um nome de log para o método CreateEventSource , o arquivo de log é chamado de aplicativo Log.
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    
  7. Para gravar uma mensagem para um log de eventos, você pode usar o método EventLog.WriteEntry estático. Esse método tem várias versões sobrecarregadas diferentes. O código de exemplo a seguir mostra o método mais simples (Isso leva uma seqüência de origem e sua mensagem) e um dos métodos mais complexos (que oferece suporte a especificando o ID de evento e o tipo de evento):
    EventLog::WriteEntry(sSource,sEvent);
    	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. Salve o seu aplicativo. Executar o aplicativo e em seguida, verifique o log do aplicativo em Visualizar eventos para ver os novos eventos.

Concluída a listagem de código no Visual C++. NET

#include <tchar.h>
#using <system.dll>
#using <mscorlib.dll>

using namespace System;
using namespace System::Diagnostics;

int _tmain()
{
	String *sSource;
	String *sLog;
	String *sEvent;

	sSource = new String("dotNET Sample App1");
	sLog = new String("Application1");
	sEvent = new String("Sample Event1");

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

	EventLog::WriteEntry(sSource,sEvent);
	EventLog::WriteEntry(sSource, sEvent,
		EventLogEntryType::Warning, 234);
	return 0;
}

Concluir a listagem de código no Visual C++ 2005

#include <tchar.h>
#include <stdafx.h>
#using <system.dll>
#using <mscorlib.dll>

using namespace System;
using namespace System::Diagnostics;

int main()
{
	String ^sSource;
	String ^sLog;
	String ^sEvent;

	sSource = gcnew String("dotNET Sample App1");
	sLog = gcnew String("Application1");
	sEvent = gcnew String("Sample Event1");

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

	EventLog::WriteEntry(sSource,sEvent);
	EventLog::WriteEntry(sSource, sEvent,
		EventLogEntryType::Warning, 234);
	return 0;
}

Propriedades

ID do artigo: 815661 - Última revisão: quarta-feira, 11 de janeiro de 2006 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbdebug kbhowtomaster kbeventlog kbhowto KB815661 KbMtpt
Traduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 815661

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