Метод класса new () открывает журнал событий на локальном или удаленном компьютере. Параметр $sourcename указывает имя журнала, которое должно иметь одно из стандартных значений: “Aplication”, “System’’или “Security”. Необязательный параметр $servername обозначает имя удаленного сервера в стандартном сетевом формате UNC системы Windows (например, server9). Если параметр $servername задан, метод new () пытается открыть указанный журнал на удаленном компьютере. В ином случае он открывает локальный журнал. В случае успешного выполнения метод new () возвращает объект Win32::EventLog для использования при регистрации сообщений. Так, например, для регистрации информационного сообщения при обращении к ссылке на страницу о технологических тонкостях, последний параметр можно пропустить.
$result = $log->Report(%data);
Метод Report () вносит запись в выбранный файл журнала. Его параметром является ссылка на хеш, содержащий ключи EventType, Category, EventID, Data и Strings.
Ключ EventType обозначает и тип, и степень серьезности ошибки. В качестве ключа должна применяться одна из следующих констант.
EVENTLOG_INFORMATION_TYPE. Информационное сообщение. EVENTLOG_WARNING_TYPE. Некатастрофическая ошибка. EVENTLOG_ERROR_TYPE. Неисправимая ошибка. EVENTLOG__AUDIT_SUCCESS. Событие аудита “success”, которое обычно записывается в журнал Security, EVENTLOG_AUDIT_FAILURE. Событие аудита “failure”, которое обычно записывается в журнал Security.
Значение ключа Category зависит от приложения. Оно может представлять собой произвольное числовое значение.
Приложение Event Viewer позволяет сортировать и отбирать записи журнала па основе ключа Category.
Ключ EventID представляет собой идентификатор события, который зависит от приложения. Он может применяться для числового обозначения конкретного сообщения об ошибке.