كيفية الكتابة إلى سجل الأحداث باستخدام Visual c + +

للحصول على إصدار Microsoft Visual C#.NET من هذه المقالة، راجع 307024 .

للحصول على إصدار Microsoft Visual Basic.NET من هذه المقالة، راجع 301279 .


تشير هذه المقالة إلى مكتبة فئات Microsoft.NET Framework مساحات الأسماء التالية:
  • النظام
  • System.Diagnostics

مقدمة

توضح هذه المقالة خطوة بخطوة كيفية إضافة إدخالات خاصة بك إلى سجل أحداث نظام التشغيل باستخدام Microsoft.NET Framework.

مزيد من المعلومات

متطلبات

توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة وحزم الخدمات التي تحتاجها:
  • متقدم Windows 2000 Server أو نظام التشغيل Microsoft Windows 2000 Professional، Windows 2000 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. ضمن أنواع Project، انقر فوق 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 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات