درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من

نوشتن در Event Log بوسیله زبان سی شارپ

0 نظرات
یکی از بخش های سیستم عامل ویندوز که از رویدادهای مربوط به سیستم عامل و نرم افزارها و سرویس های موجود بر روی آن Log گرفته می شود، Event Log است که بوسیله ابزار Event Viewer می توان رویدادهای ثبت شده در آن را مشاهده کرد. در دات نت و زبان سی شارپ این امکان برای برنامه نویسان فراهم شده است تا بتوانند رویدادهای مورد نظر خود را در EventLog بنویسند. برای اینکار باید از کلاس EventLog در فضای نام System.Diagnostics استفاده کنیم. در ابتدا توضیحی در مورد ساختار Event Log و مفاهیم مرتبط با آن بدیم. زمانی که قصد داریم Log های مورد نظر را بنویسیم، باید یک Log و یک Source داشته باشیم. در تصویر زیر از برنامه Event Viewer بخش های Log و Source مشخص شده است:

نوشتن در EventLog در سی شارپ


برای نوشتن Log ابتدا باید بررسی کنیم که Source ای با نام مورد نظر ما در Log ای که قصد داریم داخل بنویسیم تعریف شده یا خیر. برای اینکار از متد استاتیک SourceExists در کلاس EventLog به صورت زیر استفاده می کنیم و در صورت موجود نبودن Source مورد نظر آن را ایجاد می کنیم:

if (!System.Diagnostics.EventLog.SourceExists("Diagnostics"))
{
    EventLog.CreateEventSource(new EventSourceCreationData("Diagnostics", "ITProLogs"));
}

با اجرای کد بالا در صورت موجود نبودن Source ای با نام Diagnostics، آن را در Log ای با نام ITProLogs ایجاد می کنیم. در قدم بعدی باید Entry مورد نظر بوسیله کلاس EventLog نوشته شود. برای اینکار باید یک شئ از نوع EventLog ساخته و بوسیله متد WriteEntry آیتم های مورد نظر را در Event Log بنویسیم. کد زیر اینکار را برای ما انجام می دهد:

using (var log = new EventLog("ITProLogs", ".", "Diagnostics"))
{
    log.WriteEntry("Message1", EventLogEntryType.Error, 0);
}

در قسمت ایجاد شئ و به عنوان پارامترهای Constructor آیتم ها به ترتیب نام Log، نام Machine که در آن Log ها باید نوشته شوند و پارامتر سوم نام Source است. برای نوشتن Log ها از متد WriteEntry استفاده کردیم که پارامتر اول پیام مورد نظر، پارامتر دوم نوع پیام که شامل موارد Error، Warning, Information و ... می باشد و پارامتر سوم نیز شناسه خطا را مشخص می کند که می توانید یک عدد را مشخص کنید. این عدد به انتخاب برنامه نویس می باشد و هر عدد می توانید یک معنی بخصوص داشته باشد. پس از اجرای کدهای بالا پیام شما در EventLog نوشته می شود.

نویسنده: حسین احمدی
منبع: ITPro
نظرات
هیچ نظری ارسال نشده است

برای ارسال نظر ابتدا به سایت وارد شوید

arrow