103 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создаем собственный журнал событий в Windows. Создание собственных событий Windows в журнале

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

Саныч

Ветеран

Большинство приложений записывают свои события в журнал событий Windows. Это отличное место для централизованного хранения и просмотра событий приложений, однако зачастую при возникновении необходимости журналировать события от определенного приложения в данном журнале.

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

Сначала создадим новый файл журнала. Сделать это можно при помощи реестра. Запустите редактор реестра regedit и перейдите в ветку:

Щелкните правой кнопкой по узлу Eventlog и создайте новый ключ (New > Key)

Имя ключа в этом случае будет являться и именем нового журнала. По умолчанию новый журнал (файл .evt) создается тут:

C:WINDOWSSystem32ConfigNew Key #1.evt

Его можно переименовать, изменив строковый параметр в реестре по своему усмотрению.

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

Затем нужно перенести ассоциации ваших приложений из стандартного журнала Application в ваш новый журнал. Разверните ветку “Application”, находящуюся по адресу:

И скопируйте все ветки, которые относятся к интересуемым Вами приложениям в новый ветку реестра нового журналa:

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

В примере, я создал собственное приложение .NET 2.0, причем я хочу, чтобы оно записывало события в созданный нами журнал. Для этого я создам новый ключ реестра EventMessageFile и укажу в нем путь к библиотеке журналирования.NET 2.0:

C:WINDOWSMicrosoft.NETFrameworkv2.0.50727EventLogMessages.dll

Затем нужно перезагрузить Windows, а после загрузки системы вы увидите новый журнал событий в разделе Event Viewer-а. В том случае, если ваше приложение по какой-либо причине не пишет событий в новый журнал, можно протестировать его работу вручную, откройте командую строку и перейдите в каталог:

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

В том случае, если вы все сделали правильно должно появиться окно, сообщающее о том, что событие было успешно записан в журнал, либо сообщение об ошибки и причины ее появления. Если вы все сделали о данному руководству, проблем возникнуть не должно.

Читать еще:  Служба индексирования windows 10 как включить. Настройка SSD диска в Windows для оптимизации работы

Журнал событий в Windows: как его открыть и найти информацию об ошибке

Доброго дня!

Даже если вы за компьютером ничего не делаете — в процессе работы ОС Windows записывает часть данных в спец. документы (их еще называют логами или системными журналами) . Как правило, под-запись попадают различные события, например, включение/выключение ПК, возникновение ошибок, обновления и т.д.

Разумеется, в некоторых случаях эти записи могут быть очень полезными. Например, при поиске причин возникновения ошибок, синих экранов, внезапных перезагрузок и т.д. Отмечу, что если у вас установлена не официальная версия Windows — может так стать, что журналы у вас отключены.

В общем, в этой заметке покажу азы работы с журналами событий в Windows (например, как найти ошибку и ее код, что несомненно поможет в диагностике).

Работа с журналом событий (для начинающих)

Как его открыть

Этот вариант универсальный и работает во всех современных версиях ОС Windows.

  1. нажать сочетание кнопок Win+R — должно появиться окно “Выполнить”;
  2. ввести команду eventvwr и нажать OK ( примечание : также можно воспользоваться диспетчером задач (Ctrl+Shift+Esc) — нажать по меню “Файл/новая задача” и ввести ту же команду eventvwr ) ;

eventvwr — команда для вызова журнала событий

после этого у вас должно появиться окно “Просмотр событий” — обратите внимание на левую колонку, в ней как раз и содержатся всевозможные журналы Windows.

    сначала необходимо открыть панель управления и перейти в раздел “Система и безопасность” ;

Система и безопасность

далее необходимо перейти в раздел “Администрирование” ;

после кликнуть мышкой по ярлыку “Просмотр событий” .

Просмотр событий — Администрирование

Актуально для пользователей Windows 10.

1) Нажать по значку с “лупой” на панели задач, в поисковую строку написать “событий” и в результатах поиска ОС Windows предоставит вам ссылку на журнал (см. скрин ниже).

Windows 10 — события

2) Еще один способ: нажать сочетание Win+X — появится меню со ссылками на основные инструменты, среди которых будет и журнал событий.

Win+X — вызов меню

Журналы Windows

Наибольшую пользу (по крайней мере, для начинающих пользователей) представляет раздел “Журналы Windows” (выделен на скрине выше). Довольно часто при различных неполадках приходится изучать как раз его.

В нем есть 5 вкладок, из которых 3 основных: “Приложение”, “Безопасность”, “Система”. Именно о них пару слов подробнее:

  1. “Приложение” — здесь собираются все ошибки (и предупреждения), которые возникают из-за работы программ. Вкладка будет полезна в тех случаях, когда у вас какое-нибудь приложение нестабильно работает;
  2. “Система” — в этой вкладке содержатся события, которые сгенерированы различными компонентами ОС Windows (модули, драйверы и пр.);
  3. “Безопасность” — события, относящиеся к безопасности системы (входы в учетную запись, раздача прав доступа папкам и файлам, и т.д.).

Как найти и просмотреть ошибки (в т.ч. критические)

Надо сказать, что Windows записывает в журналы очень много различной информации (вы в этом можете убедиться, открыв любой из них). Среди стольких записей найти нужную ошибку не так просто. И именно для этого здесь предусмотрены спец. фильтры. Ниже покажу простой пример их использования.

И так, сначала необходимо выбрать нужный журнал (например “Система”) , далее кликнуть в правой колонке по инструменту “Фильтр текущего журнала” .

Система — фильтр текущего журнала / Кликабельно

После указать дату, уровень события (например, ошибки), и нажать OK.

В результате вы увидите отфильтрованный список событий. Ориентируясь по дате и времени вы можете найти именно ту ошибку, которая вас интересует. Например, в своем примере я нашел ошибку из-за которой компьютер перезагрузился (благодаря коду ошибки и подробному описанию можно найти ее решение на сайте Microsoft) .

Представлены все ошибки по дате и времени их возникновения / Кликабельно

Т.е. как видите из примера — использование журнала событий очень даже помогает в решении самых разных проблем с ПК.

Можно ли отключить журналы событий

Можно! Только нужно ли? (хотя не могу не отметить, что многие считают, что на этом можно сэкономить толику дискового пространства, плюс система более отзывчива и меньше нагрузка на жесткий диск)

Для отключения журналов событий нужно:

    открыть “службы” (для этого нажмите Win+R , введите команду services.msc и нажмите OK) ;

Открываем службы – services.msc (универсальный способ)

далее нужно найти службу “Журнал событий Windows” и открыть ее;

Службы — журналы событий

после перевести тип запуска в режим “отключена” и нажать кнопку “остановить” . Затем сохранить настройки и перезагрузить компьютер.

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

Как вы знаете, большинство «нормальных» приложений записывают свои события в журнал событий Windows (Application Event Log). Это отличное место для централизованного хранения и просмотра событий приложений, однако зачастую при возникновении необходимости журналировать события от определенного приложения в данном журнале, мы можем столкнуться с тем, что из-за большого количества и чрезмерной подробности событий, работать со стандартным журналом приложений Windows становится очень неудобно. В данном случае было бы удобно создать собственный журнал событий для данного приложения, и для него настраивать различные параметры, такие как размер журнала, фильтры и т.д., а стандартный журнал Application можно использовать как обычно, не засоряя его ненужной информацией. В ОС семейства Windows присутствует функция, позволяющая создать собственный журнал событий.

Сначала создадим новый файл журнала. Сделать это можно при помощи реестра. Запустите редактор реестра regedit и перейдите в ветку:

Щелкните правой кнопкой по узлу Eventlog и создайте новый ключ (New > Key)

Имя ключа в этом случае будет являться и именем нового журнала. По умолчанию новый журнал (файл .evt) создается тут:

Его можно переименовать, изменив строковый параметр в реестре по своему усмотрению.

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

Затем нужно перенести ассоциации ваших приложений из стандартного журнала Application в ваш новый журнал. Разверните ветку “Application”, находящуюся по адресу:

И скопируйте все ветки, которые относятся к интересуемым Вами приложениям в новый ветку реестра нового журналa:

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

В моем примере, я создал собственное приложение .NET 2.0, причем я хочу, чтобы оно записывало события в созданный нами журнал. Для этого я создам новый ключ реестра EventMessageFile и укажу в нем путь к библиотеке журналирования.NET 2.0:

Затем нужно перезагрузить Windows, а после загрузки системы вы увидите новый журнал событий в разделе Event Viewer-а. В том случае, если ваше приложение по какой-либо причине не пишет событий в новый журнал, можно протестировать его работу вручную, откройте командую строку и перейдите в каталог:

В том случае, если вы все сделали правильно должно появиться окно, сообщающее о том, что событие было успешно записан в журнал, либо сообщение об ошибки и причины ее появления.

Update:

Небольшое обновление статьи по письмам читателей:

Вышеприведенная инструкция по созданию собственного журнала ориентирована на серверные ОС семейства Microsoft. Более общий способ, который должен работать в большинстве Windows следующий (отличаются пути в реестре и ключи):

Создаем новый раздел в реестре (имя раздела — имя создаваемого журнала), путь к созданному будет таким:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogNewEventLog , в котором нужно создать следующие ключи:

  • «AutoBackupLogFiles» — тип DWORD, создавать или нет резервные копии журнала (0 — не создавать)
  • «MaxSize» -тип DWORD, максимальны размер журнала в байтах, значение должно быть кратным 64Кб
  • «Retention» — тип DWORD, время хранения записей в случае переполнения журнала.
  • «File» — тип REG_EXPAND_SZ, строка, в которой содержится путь к логу журнала на жестком диске, например %SystemRoot%System32configNewEventLog.evt)
  • «Sources»- тип REG_MULTI_SZ, здесь указан список источников событий, чьи логи должны попадать в этот журнал, каждый источник с новой строки
голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: