Event logging в биосе что это

Event Log

Другие идентичные по назначению опции: Event Logging, Event Log Capacity.

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это

Опция Event Log относится к категории опций, предназначенных для настройки журнала событий BIOS. Обычно данная опция позволяет включить или выключить этот журнал.

Принцип работы

Далеко не всегда наши компьютеры работают безупречно, как часы, и нередко возникают такие ситуации, когда пользователю ПК приходится иметь дело с той или иной неисправностью, связанной с аппаратной частью компьютера или с его программным обеспечением. И в подобных ситуациях зачастую трудно обойтись без такой вещи, как журнал событий (Event Log).

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

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

Тем не менее, далеко не все пользователи персонального компьютера, наверное, знают о том, что некоторые материнские платы также оснащены возможностью вести и записывать в память лог событий, связанных с аппаратной частью компьютера. В частности, в лог могут записываться события, происходящие во время процедуры проверки работоспособности отдельных элементов компьютера (процедуры POST). Эта функция может быть полезной как для обычных пользователей, так и для системных администраторов. В том случае, если во время процедуры POST возникают ошибки, то далеко не всегда пользователь имеет возможность увидеть соответствующее сообщение об ошибке на экране. А при использовании лога пользователь может просмотреть необходимую запись в BIOS и определить причину неисправности.

Включение функции записи лога событий осуществляется при помощи выбора варианта Enabled, а выключение – при помощи выбора варианта Disabled. Также в BIOS обычно присутствуют и другие опции, позволяющие работать с журналом, например, осуществлять его просмотр или очистку.

Стоит ли включать опцию?

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

Источник

System Event Logging Submenu

Наряду с конфигурационным подменю консоли BIOS серверной материнской платы может содержать подменю с характеристиками различных системных событий. Установленный пользователем (администратором) ряд имеющих решающее значение системных событий, таких как, например, скорректированные с помощью кода коррекции ошибки памяти, может заноситься системной платой в специальный журнал. Предлагаемые опции активируют или отключают журнал, отдельные составные его части. Просмотр журнала осуществляется с помощью программы System Setup Utility (SSU), поставляемой вместе с материнской платой.

System Event Logging

— опция для включения («Enabled») ведения журнала или отказа («Disabled») от его использования.

Event Log Control

— опция управления журналом имеет подопции:

«All Events» с возможными «Enabled» (по умолчанию) и «Disabled»,

«ECC Events» с возможными «Enabled» и «Disabled».

Понятно, что отказ от протоколирования всех событий равносилен отключению журнала.

Clear Event Log

— опция установки параметров очистки журнала. Возможны значения:

«Phoenix BIOS» для данной опции предлагает значения «No» и «Yes».

Event Log Capacity

— опция выводит на монитор информацию о заполненности журнала. Возможны «Not Full» или «Full».

Event Count Granularity

Event Time Granularity

— опцией устанавливается промежуток времени (в минутах), который должен пройти до следующей записи события в журнал. По умолчанию устанавливается «0».

Mark Existing Events

Critical Events in Log:

x Single Bit ECC Events

— фиксируются однобитовые ошибки при работающем механизме коррекции ошибок.

x Multiple Bit ECC Events

— фиксируются двух- и более битовые ошибки при работающем механизме коррекции ошибок.

x Parity Error Events

— фиксируются ошибки по контролю четности.

— фиксируются ошибки при проведении POST-тестирования.

Для эффективной работы с этими меню необходимо рационально использовать опцию «On Next Boot» для очистки журнала. Выбирая любой из типов системных событий, пользователь «имеет дело» с небольшим подменю (subscreen), содержащим три информационных поля. Они не имеют параметров (опций) и предназначены исключительно для информирования. Вот они:

«Date of Last Occurrence»,

«Time of Last Occurrence»,

«Total Count of Events/Errors».

В некоторых случаях к вышеперечисленным опциям отбора может быть добавлена опция

Security

Floppy Disk Access Control (R/W)(283),

Hardware Reset Protect

Password Checking

— опция «AMI BIOS», аналогичная «Security Option» для «Award BIOS», с той лишь разницей, что значению «System» соответствует значение «Always», но только лишь с блокировкой загрузки системы.

Справочные данные BIOS

В настоящее время большая часть системных плат комплектуется BIOS производства следующих фирм:

— AWARD Software International Inc. (с 1999 г. вошла в состав фирмы Phoenix) – AWAD BIOS;

— Phoenix Technologies Ltd. – Phoenix BIOS;

— American Megatrends Inc. – AMI BIOS.

Компьютеры класса «бренд» (IBN, Acer, Compad, DELL и некоторые другие) могут комплектоваться BIOS других производителей: ACER/IBM BIOS; Compad BIOS; DELL BIOS; Packard Bell BIOS; Toshiba BIOS; Zenit AMI BIOS; Gatrway Solo/Phoenix BIOS.

При начальной загрузке компьютера на экран выводится сообщение о марке, версии и дате выпуска BIOS, установленной на системной плате. Кроме того, в нижней части экрана приводится код, соответствующий модификации BIOS для конкретной модели системной платы. По информации кода можно опознать производителя и модель системной платы и обновить документацию на сайте производителя в Интернете.

Ниже, в таблице, приведена информация о кодах, принятых в AWARD (Phoenix) BIOS для производителей системных плат.

Фирма изготовительКодФирма изготовительКодФирма изготовительКод
AsustekA0AbitA1AtrendA2
BcomA3AdcomA8Acer-openAB
AnsonADAdvantechAKAcmeAM
AchitecAXBiostarB0BoserB2
ChaintechC3DataexpertD0DtkD1
DfiD4DaewooD7DarterDJ
EcsE1EfaE3EnpcEC
FicF0FlytechF1FiexusF2
Full-yesF3FormosaF8FedfoxF9
GigabyteG0GemlightG3GvcG5
GlobalG9GiantecICItriIE
JetwayJ1JbondJ3KaimeiK1
Фирма изготовительКодФирма изготовительКодФирма изготовительКод
KinpoKFLuckstarL1LannerL7
LuckytigerL9MycompM2MitacM3
MicrostarM4MustekM8MacrotekMH
NexcomN0OceanO0ProtechP6
ProteamP8PeoxPAProcompPN
PalmaxPSPionixPXQuantaQ0
QdiQ1RiseR0RsaptekR9
SoyoS2ChuttleS5SeanixSA
SmtSESyeSHSuperpowerSM
SoltekSNS&DSWTakenT4
TyanT5TrkramTGTotemTJ
CommateTPUsiU1UhcU2
UmaxU3UnicomU4PC-partnerV3
VisionV5WinW0WincoW5
WinlanW7XrimaX5YamashitaY2
ZidaZ1

Для получения доступа к средству SETUP системы BIOS, закрытой паролем, можно использовать служебные пароли в приведенном ниже списке.

Все версии: AMI_SW (не универсальный, но устанавливается при сбросе CMOS).

Все версии: комбинация клавиш CTRL+ALT+DEL+INS (держать при перезагрузке, иногда просто INS).

Источник

Event logging в биосе что это

Другие идентичные названия опции: HPET Support, HPET function.

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это

Опция BIOS HPET позволяет пользователю включить или выключить поддержку аппаратного таймера HPET. Данная опция может принимать всего два значения – Disabled (Выключено) или Enabled (Включено).

Принцип работы

HPET (High Precision Event Timer, таймер событий высокой точности) – это аппаратный таймер, разработанный совместными усилиями компаний Microsoft и Intel в середине 2000-х гг. Он был призван заменить ранее использовавшиеся в материнских платах таймеры RTC (Real Time Clock, часы реального времени) и Intel 8254. Новый таймер имеет большую точность и предлагает улучшенную работу с прерываниями по сравнению с RTC и Intel 8254. В настоящее время он встроен в большинство новых чипсетов материнских плат.

Первоначально он получил название Multimedia Timer, поскольку он предназначался, прежде всего, для улучшения работы операционной системы с мультимедийными приложениями. Однако впоследствии был переименован, чтобы избежать путаницы с программными мультимедийными таймерами, которые существовали еще в первых версиях Windows.

Новый таймер имеет 64-разрядный главный счетчик, что позволяет ему работать с интервалами большой точности, в то время как таймеры RTC и 8254 обладают всего лишь 32-разрядным счетчиком. Кроме того, он функционирует на тактовой частоте в 10 МГц, что намного превосходит возможности таймера RTC, имеющего тактовую частоту всего в 32 КГц. Новый таймер также обладает большим набором (от 3 до 256) электронных сравнивающих устройств – компараторов. Компараторы таймера могут быть как 32-разрядными, так и 64-разрядными и могут управляться как операционной системой в целом, так и отдельными приложениями. На аппаратном уровне в большинстве чипсетов таймер HPET интегрирован в южный мост материнской платы.

Основное назначение таймера – генерация прерываний с высокой частотой (которую не обеспечивали RTC и 8254). Таймер часто используется в мультимедийных приложениях. Он позволяет обеспечить более плавное воспроизведение контента и при этом избежать применения программных алгоритмов вычисления временных интервалов.

Для функционирования таймера событий высокой точности требуется поддержка со стороны операционной системы, установленной на компьютере. Впервые в линейке ОС Windows поддержка HPET появилась в операционной системе Windows Vista. Кроме того, таймер поддерживают более новые операционные системы, такие, Windows Server 2008, Windows 7 и 8. Так же он поддерживается и современными версиями FreeBSD, Solaris, Mac OS Х и Linux (начиная с версии 2.6).

Пользователи Windows XP SP2 и SP3 также могут увидеть у себя в менеджере устройств таймер HPET (в том случае, если он присутствует на материнской плате). Однако на самом деле в Windows XP данный таймер не используется, хотя драйвер этого устройства формально присутствует в системе.

Стоит ли включать опцию?

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

Однако в том случае, если ваша операционная система не поддерживает HPET, то опцию лучше всего выключить. Кроме того, есть сведения о том, что в некоторых играх включение поддержки HPET может привести к ухудшению производительности. В таком случае, опцию также лучше всего выключить. Если вы не уверены в том, улучшилась ли производительность компьютера после включения таймера событий высокой точности, то для выяснения этого вопроса можно использовать специальные тестовые программы для проверки воспроизведения мультимедийного контента и возможностей аппаратного таймера.

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

Источник

Table of Contents:

Базовая система ввода / вывода, или BIOS, каждого компьютера или сервера является жизненно важным компонентом в работе системы этого компьютера. Он хранит важную информацию, такую ​​как внутренние часы системы, конфигурация оборудования, пароли и включенные / отключенные устройства. Пользователям компьютеров разрешен доступ к системному журналу BIOS для проверки операций и внесения необходимых изменений, но для этого существует протокол. Этот протокол варьируется от производителя к производителю.

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это

Вы должны сделать некоторые маневры для доступа к системе BIOS.

Доступ к BIOS для Windows

Шаг 1

Включи компьютер. Когда компьютер загружается, посмотрите на нижнюю часть экрана. Вы заметите указания, которые читаются как «BIOS = F2, Boot System = F12» или что-то похожее на эти команды. Опять же, это будет зависеть от производителя. Нажмите кнопку, указанную для BIOS.

Шаг 2

Нажмите кнопку «Системный журнал» или «Журнал событий» в появившемся меню. Меню предложит вам различные варианты, доступ к которым осуществляется нажатием указанных кнопок.

Шаг 3

Просмотр системного журнала. Если вы не видите ни одной подсказки, указанной на предыдущих шагах, возможно, вам придется связаться с производителем BIOS. Чтобы найти производителя BIOS для вашей системы, перейдите в область поиска на рабочем столе и введите «Информация о системе». Нажмите «Информация о системе» в результате, а затем просмотрите «Системную сводку». Производитель BIOS будет указан.

Доступ к BIOS для Mac

Шаг 1

Включите компьютер и дождитесь загрузки экрана рабочего стола.

Шаг 2

Перейдите в «Приложения», «Утилиты», затем «Консоль» или введите «Консоль» в области Spotlight.

Шаг 3

Перейдите в «system.log», чтобы просмотреть системный журнал BIOS.

Доступ к BIOS для серверов шлюзов

Шаг 1

Откройте консоль Gateway System Manager и войдите в систему, используя свой идентификатор администратора и пароль

Шаг 2

Нажмите на знак «+» рядом со значком «GSM».

Шаг 3

Нажмите знак «+» рядом с сервером, который вы хотите просмотреть, затем нажмите «События».

Шаг 4

Щелкните значок «IPMI SEL» (сокращение от «Журнал системных событий Intelligent Platform Management Interface»), чтобы отобразить журнал системных событий.

Как почистить системный блок компьютера

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это

Как отключить системный звуковой сигнал в Windows

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это

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

Как зашифровать системный раздел с помощью bitlocker в windows

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это

Как зашифровать системный диск Windows с помощью BitLocker, даже если у вас нет чипа TPM. Вот как это делается в Windows 10, Windows 7 и Windows 8.1.

Журнал событий: Как просмотреть информацию об ошибках, исправить ошибки в Windows 10, 8 или 7 💥📜💻 (Декабрь 2021).

Источник

Журнал событий (Event Logging)


Win32: централизованное протоколирование событий


Автор: Серебряков Алексей (Smooky)
QUIBECK INC.
Источник: RSDN Magazine #3-2007

Опубликовано: 14.11.2007
Исправлено: 10.12.2016
Версия текста: 1.0

Предисловие

Для решения этой проблемы операционная система Windows предоставляет такой сервис и программный интерфейс, как Eventlog. Этот инструментарий относится к числу базовых сервисов Windows, т.е. поставляется с самой системой и система сама же его использует. Стоит заметить, что эта возможность есть только у систем семейств WinNT/XP, т.к. приложение для протоколирования событий является сервисом. Также стоит заметить, что в Windows Vista и Windows Longhorn этот сервис существенно переработан, новый вариант в этой статье рассматриваться не будет.

Мы не будем также рассматривать этот замечательный инструмент с точки зрения администраторов, сборщиков журналов и прочих персон, которые призваны управлять системой. Итак, приступим.

Теория

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это
Рисунок 1.

Наверное, почти все разработчики используют в своих программах протоколирование событий при выявлении ошибок, отладке и диагностировании приложений. Но даже после успешного сбора и просмотра статистики иной раз бывает сложно проанализировать, что же всё-таки случилось и в каком месте? Так вот, сервис «Журнал событий» является стандартным, централизованным способом сбора статистики и просмотра сообщений о событиях, поступающих от приложений, сервисов операционной системы и аппаратных устройств. Средство для просмотра этих событий является оснасткой Microsoft Management Console. В Windows XP Rus эта оснастка запускается так: Пуск->Настройка->Панель управления->Администрирование->Просмотр Событий (Event Viewer).

ПРЕДУПРЕЖДЕНИЕ

При использовании сервиса протоколирования в журнал следует записывать достаточно важные и нужные сведения о происшедших ошибках, которые действительно потом могут помочь разработчикам разобраться, что же произошло с приложением. Не следует, например, писать в системный журнал с периодичностью 100нс сообщения о том, что пользователь случайно удалил файл readme.txt. Журнал событий – это не средство трассировки.

Рекомендации по протоколированию событий

Сообщение в журнале событий – это, прежде всего, информация, способная помочь вам, администратору и даже пользователю понять, какая проблема возникла в приложении и как её устранить. В частности, это событие может предназначаться специалисту технической поддержки в вашей компании, и даже ему будет тоскливо читать сообщение: «Процесс А не смог прочитать 0x05 байт 0x2-ого сектора дисковода В». Поэтому идеальное сообщение должно помочь пользователю ответить на следующие вопросы:

Могут пригодиться и следующие рекомендации:

Соглашения о стиле содержания сообщения:

Это неполный список рекомендаций, взятый из MSDN. На самом деле в популярных книгах, например, у Саттера, есть более интересные рекомендации.

События в журнале

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

Тип событияПояснение
Ошибка (Error)Этим типом обычно определяется серьёзная ошибка приложения. Например, исполнение приложения прервалось из-за нехватки ресурсов.
Предупреждение (Warning)Этим типом приложение обычно информирует о том, что скоро может возникнуть проблема, например, закончится дисковое пространство.
Информация (Information)Этим типом приложение обычно информирует об успехе какой-либо важной операции, например, при старте сервиса.
Успешный отчёт (Success Audit)Этот тип события обычно означает об успехе какой-либо операции доступа, например, пользователь вошёл в систему.
Не успешный отчёт (Fault Audit)Этот тип события обычно означает, что произошла какая-то ошибка при доступе к ресурсу, например, пользователь не смог обратиться к сетевому диску.

Поскольку запись в журнал может происходить нечасто, в тексте сообщения следует достаточно полно описывать происшедшее событие. Следует достаточно понятно описывать событие, так как информацию о событии, до того как она попадёт к разработчику, может просмотреть, например, администратор системы и не придав ей особого значения, просто проигнорировать.

СОВЕТ

Элементы журнала событий


Журналы

Всю информацию о настройках журнала сервис берёт из реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog.

Каждая ветка в этом ключе – это журнал. Изначально их всего три, но можно создавать свои журналы, и регистрировать свои приложения как источники событий для этих журналов.

Журнал (Log)Пояснение
Приложение (Application)Этот журнал содержит записи от приложений. Например, если мы зарегистрируем свой источник событий (т.е. приложение) и не укажем журнал, по умолчанию записи будут поступать сюда.
Система (System)Этот журнал содержит записи, поступающие от системных служб. Но писать в него может любое приложение.
Безопасность (Security)Этот журнал предназначен для аудита, например, событий входа пользователя в систему.
Другой (Custom)Можно создать свой журнал. Не поддерживается в Windows NT.

Для каждого журнала определяются ключи. Практически все они необязательны и имеют значения по умолчанию, но рекомендуется всё же создавать их для своего журнала.

Ключ в реестреПояснение
DisplayNameFileИмя файла, в котором содержится локализованная строка с названием журнала, то есть строка, которую покажет Event Viewer. Если параметр не указан, Event Viewer в качестве строки покажет наименование подключа, в котором определён параметр. По умолчанию все локализованные ресурсы находятся в %SystemRoot%\system32\ELS.DLL. Строковый параметр.
DisplayNameIDИдентификатор строки в ресурсной DLL. Тип параметра DWORD.
FileПуть к папке, где Event Viewer будет хранить файлы журналов. По умолчанию это %SystemRoot%\system32\config\MyLogName, где MyLogName – имя журнала. При создании нового файла журнала сервис должен иметь права на полный доступ к файлу. Если значение этого параметра будет неверным, все записи будут перенаправляться в журнал Application. В пути нельзя использовать имя удалённого компьютера, DOS-устройства, дисководы, именованные каналы. Нельзя использовать переменные окружения, которые нельзя раскрыть в контексте сервиса.
MaxSizeМаксимальный размер журнала в байтах. По умолчанию 512К. Параметр DWORD.
PrimaryModuleНаименование ключа, где хранятся настройки по умолчанию. Обычно совпадает с наименованием журнала. Строковый параметр.
RetentionИнтервал в секундах, в течение которого записи могут остаться не перезаписанными. Если установлено в ноль, записи в журнале всегда перезаписываются, если не ноль или 0xFFFFFFFF, то записи никогда не перезаписываются. При достижении максимального размера журнал необходимо очистить вручную, иначе записи будут потеряны. Перед тем, как изменять это значение, журнал необходимо очистить. Параметр DWORD. По умолчанию – 0.
SourcesСписок приложений, сервисов, которые могут писать в журнал. Только для чтения. Этот список создаёт сам сервис. Названия приложений берутся из текущей ветки журнала и разделяются null-terminated. Параметр многострочный.
AutoBackupLogFilesЕсли значение параметра – 0, журнал не сохраняется как резервная копия. По умолчанию – 0.
RestrictGuestAccessЕсли значение – 1, то пользователи под учётной записью Guest и Anonymous не имеют доступа к журналу. По умолчанию – 0.
IsolationНе используется.

Источники событий

Каждая подветка в ветке Eventlog – это источник событий.

Например, для приложения MySuperApp.EXE, которое будет записывать события в журнал Application, необходимо создать такую подветку:

Здесь MySuperApp – это произвольное имя, по которому сервис (журнал) будет опознавать события, поступающие от нашего приложения. Каких либо соглашений об имени в документации не указано, но видимо, имя должно быть уникально в пределах одной подветки. Обычно используется название приложения или исполняемого модуля. По сути дела, это и есть регистрация приложения в сервисах Event Logging и Event Viewer.

Пользовательские приложения и сервисы должны либо регистрировать себя в журнале Application, либо создавать свой журнал. Журнал Security используется только системой. Драйверы устройств должны использовать журнал System.

Каждый источник событий (как мы уже знаем, приложение) должен в своей подветке определить перечисленные ключи. Они помогают Event Viewer сопоставлять сообщения и подставляемые параметры из ресурсной DLL-библиотеки с идентификаторами в приложении (позже я это продемонстрирую на примере):

Ключ в реестреПояснение
CategoryCountЧисло используемых категорий. Тип DWORD.
CategoryMessageFileПуть к файлу с локализованными строками, определяющими категории. Строковый параметр.
EventMessageFileПуть к файлу с локализованными строками сообщений. Можно перечислить несколько файлов через запятую. Например, EVT_ENG.DLL, EVT_RUS.DLL. Строковый параметр.
ParameterMessageFileПуть к файлу с локализованными строками параметров, подставляемых в текст сообщения. Строковый параметр.
TypeSupportedПараметр определяет типы поддерживаемых сообщений. Например, только ошибки и предупреждения: EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE. Параметр DWORD определяет маску из следующих типов:EVENTLOG_ERROR_TYPE, EVENTLOG_WARNING_TYPE, EVENTLOG_INFORMATION_TYPE, EVENTLOG_AUDIT_SUCCESS, EVENTLOG_AUDIT_FAILURE

ПРЕДУПРЕЖДЕНИЕ

Однако если ветка была найдена, но не были определены файлы сообщений для найденного источника событий, то при открытии Event Viewer сообщит об ошибке. Поэтому хорошим тоном будет, не только зарегистрировать источник событий, но и предоставить файлы сообщений.

Event logging в биосе что это. Смотреть фото Event logging в биосе что это. Смотреть картинку Event logging в биосе что это. Картинка про Event logging в биосе что это. Фото Event logging в биосе что это
Рисунок 2.

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

Практика

Создадим сначала ресурсную библиотеку с категориями, сообщениями и параметрами. Для этого необходимо создать обычный текстовый файл с расширением MC.

Файл сообщений

Категории, сообщения и подставляемые параметры можно разместить как в одном файле, так и в разных. Для удобства и наглядности разместим всё в одном файле MYEVT_ENG.MC.

Категории событий

Категории событий – это всего лишь числовые идентификаторы, которые помогают фильтровать записи при просмотре журнала в Event Viewer. Каждый источник событий может обозначить свои категории любым числом. Надо только учесть, что они должны располагаться в начале файла сообщений последовательно (по порядку) и начинаться с 1. Подробное описание формата файла *.MC можно найти в в MSDN.

Идентификаторы событий

Каждый идентификатор события уникален в пределах файла сообщений. Каждый источник событий может определять свои собственные идентификаторы и связанные с ними строки. В Event Viewer при просмотре журнала мы как раз и видим эти строки (см. рисунок).

Формат кода идентификатора события выглядит так (впрочем, это соглашение, принятое в Windows):

3322222222221111111111
76543210765432107654321076543210
313029282726252423222120191817161514131211109876543210
SeveriryCRFacilityCode

Важность ошибки (Severity):

Принадлежность (Customer bit):

Подробные пояснения можно найти в книге Рихтера или в MSDN.

Строки сообщений

Теперь определим строки сообщений, поясняющие событие. Строки сообщений могут содержать подставляемые параметры.

Итак, мы написали файл MYEVT_ENG.MC. Теперь нам понадобится утилита MessageCompiler (MC.EXE), которая поставляется с MSVC6.0 и Platform SDK. Это консольное приложение скомпилирует файл сообщений:

В результате мы получим следующие файлы: MYEVT_ENG.H (определения символических имён), Msg00001.bin (бинарный ресурс для каждого языка), MYEVT_ENG.RC (в нём подключены бинарные ресурсы). Кстати, файл WINERROR.H, поставляемый с Microsoft Visual Studio, именно так и сгенерирован.

Теперь скомпилируем файл ресурсов MYEVT_ENG.RC:

В результате мы получим файл MYEVT_ENG.RES. И, наконец-то, скомпилируем библиотеку:

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

СОВЕТ

Один и тот же файл сообщений могут использовать несколько приложений. И даже если сообщения написаны на разных языках, они всё равно могут находиться в одном ресурсном файле.

Регистрация источника событий

Для регистрации источника событий достаточно всего лишь определить несколько ключей в реестре (описание ключей приведены выше).

Теперь сервис Eventlog готов принимать сообщения о событиях, а Event Viewer – показывать их. Осталось только это использовать.

Использование журнала событий

Здесь стоит пояснить две важные функции: RegisterEventSource и ReportEvent.

lpSourceName – это имя источника события, который будет отсылать сообщения в журнал. В нашем примере это был MySuperApp. Нельзя использовать журнал Security (функция вернёт INVALID_HANDLE_VALUE). Если имя источника события не было найдено в реестре (в подключе \Eventlog), будет использоваться журнал Application.

Функция возвращает описатель журнала или NULL.

hEventLog – описатель, который вернула функция RegisterEventSource.

wType – тип события (EVENTLOG_SUCCESS, EVENTLOG_AUDIT_FAILURE, EVENTLOG_AUDIT_SUCCESS, EVENTLOG_ERROR_TYPE, EVENTLOG_WARNING_TYPE, EVENTLOG_INFORMATION). Указать можно только один тип.

wCategory – категория (см. Категории событий)

dwEventType – сообщение (см. Идентификаторы событий)

lpUserSid – указатель на структуру SID.

wNumStrings – количество подставляемых параметров в lpStrings. Каждая строка ограничена 32К.

dwDataSize – число байт в lpRawData.

lpRawData – произвольный массив байтов. Event Viewer никак не интерпретирует эти данные и отображает их в том виде, в котором они были переданы.

Eventlog предоставляет еще несколько функций (перебрать записи в журнале, найти запись, и т.д.) для работы с журналами событий. Почти все они нужны только для какой-либо программы-анализатора.

Послесловие

Кому-то это может показаться нудным и даже ненужным занятием. Но логи всегда были очень полезным и действенным способом отладки приложений и устранения ошибок. Использование журналов событий имеет ряд преимуществ:

В Windows Vista Microsoft переработала этот сервис. Например, можно генерировать логи в XML, отсылать отчёты о логах и т.д.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *