Створення свого журналу подій Windows XP


В цьому випадку ми можемо зіткнутися з тим, що з-за великої кількості і надмірної подробиці подій, працювати зі стандартним журналом додатків Windows стає дуже незручно. В даному випадку було б зручно створити власний журнал подій для цієї програми, і для нього налаштовувати різні параметри, такі як розмір журналу, фільтри і т. д., а стандартний журнал Application можна використовувати як зазвичай, не засмічуючи його непотрібною інформацією. В ОС сімейства Windows є функція, що дозволяє створити власний журнал подій.

Спочатку створимо новий файл журналу. Зробити це можна за допомогою реєстру. Запустіть редактор реєстру regedit і перейдіть в гілку:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog

Клацніть правою кнопкою по сайту Eventlog і створіть новий ключ (New > Key)

Ім'я ключа в цьому випадку буде і ім'ям нового журналу. За замовчуванням новий журнал (файл .evt) створюється тут:

C:\WINDOWS\System32\Config\New Key #1.evt

Його можна перейменувати, змінивши рядковий параметр в реєстрі за своїм розсудом.

Далі потрібно додати джерела (Sources) подій для нового журналу. Створіть новий ключ типу Multi-String з ім'ям "Sources", в якості параметрів вкажіть імена всіх додатків, який будуть використовувати цей журнал (кожне додаток з нового рядка).

Создание своего журнала событий в Windows XP

Потім потрібно перенести асоціації ваших додатків із стандартного журналу Application в ваш новий журнал. Розгорніть гілку "Application", що знаходиться за адресою:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application

І скопіюйте всі гілки, які відносяться до інтересуемий Вами додатків в новий гілку реєстру нового журналу:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\CustomLog

Т. к. команда скопіювати/вставити в редакторі реєстру не працює, їх можна створювати вручну (якщо їх небагато), або ж можна здійснити перенесення за допомогою процедури експорту/імпорту гілок реєстру з ручним редагування .reg файлу. Переконайтеся, що після перенесення видалення ключі реєстру ваших додатків з гілки Application, інакше Windows не зрозуміє, що потрібно писати події в новий журнал. У тому випадку, якщо ви використовуєте новий джерело подій для журналу, потрібно буде створити параметр DWORD з ім'ям CustomSource і значенням рівним 1:

Создание своего журнала событий в Windows XP

У моєму прикладі, я створив власну програму .NET 2.0, причому я хочу, щоб воно записували події в створений нами журнал. Для цього я створю новий ключ реєстру EventMessageFile і вкажу в ньому шлях до бібліотеки журналирования.NET 2.0:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll

Потім потрібно перезавантажити Windows, а після завантаження системи ви побачите новий журнал подій в розділі Event Viewer-а. У тому випадку, якщо ваш додаток з якої-небудь причини не пише подій в новий журнал, можна перевірити його роботу вручну, відкрийте командую рядок і перейдіть в каталог:

CD C:\WINDOWS\system32

Потім наберіть:

eventcreate /l CustomLog /t Information /so Application1 /id 1 /d "Test message"

У тому випадку, якщо ви все зробили правильно повинно з'явитися вікно, що повідомляє про те, що подія була успішно записаний у журнал, повідомлення про помилки і причини її появи. Якщо ви все зробили про даного керівництва, проблем виникнути не повинно.