Как записать в журнал событий с помощью Visual C++

Переводы статьи Переводы статьи
Код статьи: 815661 - Vizualiza?i produsele pentru care se aplic? acest articol.
Для Microsoft Visual C#.NET версии данной статьи, см. 307024.
Для Microsoft Visual Basic.NET версии данной статьи, см. 301279.

Это статья ссылается на следующие корпорации Майкрософт.NET Framework библиотеки классов пространства имен:
  • Система
  • System.Diagnostics
Развернуть все | Свернуть все

В этой статье

ВВЕДЕНИЕ

В данной статье описывается, как добавить собственные записи в журнале событий операционной системы с помощью Microsoft.NET Framework.

Дополнительная информация

Требования

В следующем списке перечислены рекомендованные оборудование программное обеспечение сетевой инфраструктуры и пакетов обновления, необходимо:
  • Microsoft Windows 2000 Professional, Windows 2000 Server Windows 2000 Advanced Server или Windows NT 4.0 Server
  • Microsoft Visual Studio.NET
  • Microsoft Visual Studio 2005

Запись в журнал событий

Ведение журнала событий предоставляет стандартный, централизованный метод для вашего приложения для записи важных событий программного и аппаратного обеспечения. Windows предоставляет стандартный пользовательский интерфейс для просмотра журналов: в окне просмотра событий. С помощью общей среды выполнения Журнал событий компонент, можно подключиться к существующим журналам событий легко, на обоих локальный и удаленный компьютеры, а операции записи в этот журнал. Можно также прочитать операции из существующего входит и создавать собственные журналы событий. В его простейшая форма записи в журнал событий включает несколько этапов создания Образец приложения.

Чтобы сделать это, выполните следующие действия.
  1. Запустите Visual Studio.NET или Visual Studio 2005.
  2. Создание нового проекта Visual C++ управляемое приложение C++.

    Примечание В Visual C++.NET 2003, выполните следующие действия:
    1. В группе Типы проектов, нажмите кнопку Visual Проекты C++.
    2. В группеШаблоны, нажмите кнопкуКонсольного приложения (.(NET).
    В Visual C++ 2005 выполните следующие действия.
    1. В группе Типы проектов, нажмите кнопку Visual C++.
    2. В группеШаблоны, нажмите кнопкуКонсольное приложение CLR.
  3. Добавьте ссылку на system.dll, добавив следующую строку кода:
    #using <system.dll>
  4. С помощью с помощью директивы на Система и System::Diagnostics пространства имен таким образом, нет необходимости указывать объявления из Эти пространства имен в коде. Необходимо использовать следующие инструкции перед любыми другие объявления:
    using namespace System;
    using namespace System::Diagnostics;
  5. Для записи в журнал событий, необходимо иметь несколько видов информация: ваше сообщение, имя журнала, для которых требуется выполнить запись (это создается, если он еще не существует) и строка, Представляет источник события. Можно зарегистрировать с определенного источника только один журнал событий; Если вы хотите записывать сообщения в несколько журналов необходимо определить несколько источников.
    String *sSource;
    	String *sLog;
    	String *sEvent;
    
    	sSource = new String("dotNET Sample App1");
    	sLog = new String("Application1");
    	sEvent = new String("Sample Event1");
    
  6. Используйте два статических метода Журнал событий класс, чтобы проверить существование источника и источник не существует, для создания этого источника, с которым связан либо журнала событий. Если указанное имя журнала не существует, имя создается автоматически при первой операции записи в журнал. По по умолчанию, если не указано имя журнала для CreateEventSource метод, файл журнала называется журнал приложений.
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    
  7. Чтобы написать сообщение в журнал событий, можно использовать статические метод Метод EventLog.WriteEntry. Этот метод имеет несколько разных перегруженных версий. Ниже пример кода показывает простейший способ (это принимает строку источника и вашего сообщения) и один из более сложных методов (который поддерживает задание Идентификатор события и события типа):
    EventLog::WriteEntry(sSource,sEvent);
    	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. Сохраните приложения. Запустите приложение и проверьте журнал приложений в средстве просмотра событий для просмотра новых событий.

Полный пример кода в 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;
}

Полный пример кода в 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;
}

Свойства

Код статьи: 815661 - Последний отзыв: 14 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
Ключевые слова: 
kbdebug kbhowtomaster kbeventlog kbhowto kbmt KB815661 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:815661

Отправить отзыв

 

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