How to write to an event log by using Visual C++

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 815661 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
สำหรับรุ่น Microsoft Visual c# .NET ของบทความนี้ ดู307024.
สำหรับรุ่น Microsoft Visual Basic .NET ของบทความนี้ ดู301279.

This article refers to the following Microsoft .NET Framework Class Library namespaces:
  • ระบบ:
  • System.Diagnostics
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

This step-by-step article describes how to add your own entries to the event log of the operating system by using the Microsoft .NET Framework.

ข้อมูลเพิ่มเติม

ความต้องการ

The following list describes the recommended hardware, software, network infrastructure, and service packs that you need:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, or Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft Visual Studio 2005

Write to an event log

Event logging provides a standard, centralized way for your applications to record important software and hardware events. Windows supplies a standard user interface for viewing the logs: the Event Viewer. By using the common language run-timeEventLogcomponent, you can connect to existing event logs easily, on both local and remote computers, and write entries to these logs. You can also read entries from existing logs, and create your own custom event logs. In its simplest form, writing to an event log involves several steps to create a sample application.

โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. เริ่ม Visual Studio .NET หรือ Visual Studio 2005
  2. Create a new Visual C++ Managed C++ Application project.

    หมายเหตุ:In Visual C++ .NET 2003, follow these steps:
    1. ภายใต้ชนิดโครงการคลิกVisual C++ Projects.
    2. ภายใต้แม่แบบคลิกConsole Application (.NET).
    In Visual C++ 2005, follow these steps:
    1. ภายใต้ชนิดโครงการคลิกVisual C++.
    2. ภายใต้แม่แบบคลิกCLR Console Application.
  3. Add a reference to system.dll by adding the following line to the code:
    #using <system.dll>
  4. Use the using directive on theระบบ:และSystem::Diagnosticsnamespaces so that you do not have to qualify declarations from these namespaces later in your code. You must use the following statements before any other declarations:
    using namespace System;
    using namespace System::Diagnostics;
  5. To write to an event log, you must have several pieces of information: Your message, the name of the log you to where you want to write (this is created if it does not already exist), and a string that represents the source of the event. You can register a particular source with only a single event log; if you want to write messages to more than one log, you must define multiple sources.
    String *sSource;
    	String *sLog;
    	String *sEvent;
    
    	sSource = new String("dotNET Sample App1");
    	sLog = new String("Application1");
    	sEvent = new String("Sample Event1");
    
  6. Use two static methods of theEventLogclass to check whether your source exists, and if the source does not exist, to create this source that is associated with a particular event log. If the log name that you specify does not exist, the name is created automatically when you write your first entry to the log. By default, if you do not supply a log name to theCreateEventSourcemethod, the log file is named Application Log.
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    
  7. To write a message to an event log, you can use the static methodEventLog.WriteEntry. This method has several different overloaded versions. The following sample code shows the simplest method (this takes a source string and your message), and one of the more complex methods (which supports specifying the event ID and event type):
    EventLog::WriteEntry(sSource,sEvent);
    	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. Save your application. Run your application, and then check the application log in the Event Viewer to see your new events.

Complete code listing in 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;
}

Complete code listing in 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;
}

คุณสมบัติ

หมายเลขบทความ (Article ID): 815661 - รีวิวครั้งสุดท้าย: 14 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ 2002 Standard Edition
Keywords: 
kbdebug kbhowtomaster kbeventlog kbhowto kbmt KB815661 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้: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