Nasıl yapılır: Visual C++ kullanarak bir olay günlüğüne Yaz

Makale çevirileri Makale çevirileri
Makale numarası: 815661 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalenin Microsoft Visual C# .NET sürümü için bkz: 307024.
Bu makalenin Microsoft Visual Basic .NET sürümü için bkz: 301279.

Bu makalede, aşağıdaki Microsoft .NET Framework Sınıf Kitaplığı ad alanlarına başvurulmaktadır:
  • Sistem
  • System.Diagnostics
Hepsini aç | Hepsini kapa

Bu Sayfada

Giriş

Bu adım adım makalede, Microsoft .NET Framework kullanarak, işletim sisteminin olay günlüğüne kendi girdilerinizi ekleyebilirsiniz açıklamaktadır.

Daha fazla bilgi

Gereksinimler

Aşağıdaki listede önerilen donanım, yazılım, ağ altyapısı ve gereken hizmet paketleri anlatılmaktadır:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows Server veya Windows NT 4.0 Server 2000 Advanced
  • Microsoft Visual Studio. NET'i
  • Microsoft Visual Studio 2005

Bir olay günlüğüne Yaz

Olay günlüğü, yazılım ve donanım önemli olayları kaydetmek, uygulamalarınız için standart ve merkezi bir yol sağlar. Windows Günlükleri'ni görüntülemek için bir standart kullanıcı arabirimi sunar: Olay görüntüleyiciyi. Ortak dil çalışma zamanı EventLog bileşeni'ni kullanarak, varolan olay günlüklerine, yerel ve uzak bilgisayarlarda kolayca bağlanabilir ve bu günlükler için girişleri yazın. Ayrıca, varolan günlüklerden girişleri'ni okuyun ve kendi özel olay günlükleri oluşturabilirsiniz. En basit şekliyle, bir olay günlüğüne yazılırken bir örnek uygulama oluşturmak için birkaç adım içerir.

Bunu yapmak için şu adımları izleyin:
  1. Visual Studio .NET veya Visual Studio 2005'i başlatın.
  2. Visual C++ yönetilen C++ uygulama yeni bir proje oluşturun.

    Not Visual C++ .NET 2003'te, aşağıdaki adımları izleyin:
    1. Project Types altında Visual C++ Projects ' ı tıklatın.
    2. Şablonları altında Console Application (.NET) tıklatın.
    Visual C++ 2005'te, aşağıdaki adımları izleyin:
    1. Project Types altında Visual C++ ' ı tıklatın.
    2. Şablonları altında CLR konsol uygulaması) tıklatın.
  3. Kodu için aşağıdaki satırı ekleyerek system.dll başvuru:
    #using <system.dll>
  4. Using kullanmak, kodunuzun daha sonra bu ad boşluklarında gelen bildirimleri nitelemek olması için yönergenin, Sistem ve System::Diagnostics ad. A?a??daki tüm diğer bildirimlerden önce kullanmalısınız:
    using namespace System;
    using namespace System::Diagnostics;
  5. Bir olay günlüğe yazmak için <a0></a0>, çeşitli bilgi parçaları olmalıdır: iletiniz, günlüğün adını, istediğiniz yere (zaten yoksa bu oluşturulur) yazma ve olayın kaynağını gösteren bir dize. Yalnızca tek bir olay günlüğüne ile belirli bir kaynak kaydı; için birden çok günlük iletileri yazmak istiyorsanız, birden çok kaynaklarını. tanımlamalısınız
    String *sSource;
    	String *sLog;
    	String *sEvent;
    
    	sSource = new String("dotNET Sample App1");
    	sLog = new String("Application1");
    	sEvent = new String("Sample Event1");
    
  6. EventLog sınıfının iki statik yöntem kaynağınız varolup kaynak yok denetleyip, belirli bir olay günlüğü ile ilişkili olan bu kaynağı oluşturmak için kullanın. Belirttiğiniz günlük adı yoksa, ilk girişi günlüğe yazma adı otomatik olarak oluşturulur. CreateEventSource yöntemi, bir günlük adı belirtmezseniz, varsayılan uygulama Log.
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    
    günlük dosyası adlı
  7. Bir olay günlüğüne bir ileti yazmak için <a0></a0>, durağan EventLog.WriteEntry yöntemini kullanabilirsiniz. Bu yöntem, birkaç farklı aşırı yüklü sürümü vardır. Aşağıdaki örnek kodu basit yöntemi gösterir (Bu bir kaynak dizesi ve iletinizi alır) ve (hangi olay KIMLIĞI ve olay türünü destekler) daha karmaşık yöntemlerden:
    EventLog::WriteEntry(sSource,sEvent);
    	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. Uygulamanızın kaydedin. Uygulamanızı ve daha sonra yeni olayları görmek için olay görüntüleyicisinde uygulama günlüğüne bakın.

Visual C++ kod listesinde tamamlayın. 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'te kod listesi tamamlayın.

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

Özellikler

Makale numarası: 815661 - Last Review: 11 Ocak 2006 Çarşamba - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbdebug kbhowtomaster kbeventlog kbhowto KB815661 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:815661

Geri Bildirim Ver

 

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