Visual C++ kullanarak bir olay günlüğüne girdi yazma
Bu makalede, Microsoft .NET Framework kullanarak işletim sisteminin olay günlüğüne kendi girdilerinizi nasıl ekleyeceğiniz açıklanır.
Orijinal ürün sürümü: Visual C++
Özgün KB numarası: 815661
Gereksinimler
Visual Studio .NET
Bir olay günlüğüne girdi yazma
Olay günlüğü, uygulamalarınızın önemli yazılım ve donanım olaylarını kaydetmesi için standart, merkezi bir yol sağlar. Windows, günlükleri görüntülemek için standart bir kullanıcı arabirimi sağlar: Olay Görüntüleyicisi. Ortak dil çalışma zamanı EventLog bileşenini kullanarak, hem yerel hem de uzak bilgisayarlarda mevcut olay günlüklerine kolayca bağlanabilir ve bu günlüklere girdi yazabilirsiniz. Ayrıca, mevcut günlüklerdeki girdileri okuyabilir ve kendi özel olay günlüklerinizi oluşturabilirsiniz. En basit haliyle, bir olay günlüğüne yazmak örnek uygulama oluşturmak için birkaç adımdan oluşur.
Bunu yapmak için şu adımları uygulayın:
Visual Studio .NET'i başlatın.
Yeni bir Visual C++ Yönetilen C++ Uygulaması projesi oluşturun.
Koda aşağıdaki satırı ekleyerek system.dll başvurusu ekleyin:
#using <system.dll>
Kodunuzun
using
System
ilerleyen bölümlerinde bu ad alanlarının bildirimlerini nitelememek için veSystem::Diagnostics
ad alanları üzerindeki yönergesini kullanın. Diğer bildirimlerden önce aşağıdaki deyimleri kullanabilirsiniz:using namespace System; using namespace System::Diagnostics;
Bir olay günlüğüne yazmak için birkaç bilgi parçasına sahip olmanız gerekir:
- İletiniz
- Yazmak istediğiniz günlüğün adı (henüz yoksa oluşturulur)
- Olayın kaynağını temsil eden dize
Belirli bir kaynağı yalnızca tek bir olay günlüğüne kaydedebilirsiniz. birden fazla günlüğe ileti yazmak istiyorsanız, birden çok kaynak tanımlamanız gerekir.
String^ sSource; String^ sLog; String^ sEvent; sSource = gcnew String("dotNET Sample App1"); sLog = gcnew String("Application1"); sEvent = gcnew String("Sample Event1");
Belirli bir olay günlüğüyle ilişkilendirilmiş bu kaynağı oluşturmak için, kaynağınızın mevcut olup olmadığını ve kaynak mevcut değilse bunu denetlemek için sınıfının iki statik yöntemini
EventLog
kullanın. Belirttiğiniz günlük adı yoksa, günlüğe ilk girdinizi yazdığınızda ad otomatik olarak oluşturulur. Varsayılan olarak, yöntemineCreateEventSource
günlük adı sağlamazsanız günlük dosyası Uygulama Günlüğü olarak adlandırılır.if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
Olay günlüğüne ileti yazmak için statik yöntemini
EventLog.WriteEntry
kullanabilirsiniz. Bu yöntemin birkaç farklı aşırı yüklenmiş sürümü vardır. Aşağıdaki örnek kod, en basit yöntemi (kaynak dizeyi ve iletinizi alan) ve daha karmaşık yöntemlerden birini (olay kimliğini ve olay türünü belirtmeyi destekler) gösterir:EventLog::WriteEntry(sSource,sEvent); EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
Uygulamanızı kaydedin. Uygulamanızı çalıştırın ve ardından yeni olaylarınızı görmek için Olay Görüntüleyicisi uygulama oturumunu denetleyin.
Visual C++ .NET'te tam kod listesi
#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 = 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;
}
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin