Программируем под IIS на Visual C++
Программируем под IIS на Visual C++
Одной из распространенных задач администрирования
web-сайтов является анализ log-файлов и сбор данных из них. Поговорим об этой
задаче на примере IIS 5.0 (Internet Information Service). В связи с тем, что
данный HTTP сервер поддерживает несколько форматов таких файлов (формат W3C,
формат NCSA, а также свой формат IIS), анализ log-файлов превращается в
довольно трудоемкую задачу. Кроме того для формата W3C список полей может
конфигурироваться, что задачу не облегчает.
Но к счастью вместе с IIS 5.0 в составе прочих
компонентов, поставляется компонент MSWC.IISLog, который предназначен для
получения данных из log-файлов и предоставляет для этой цели интерфейс
ILogScripting. Находится он в файле %windir%system32inetsrvlogscrpt.dll. С
помощью этого интерфейса можно читать данные из log-файла, записывать
прочтенные данные в другой файл.
Перед тем как начать работу с какими-либо log-файлом,
его нужно открыть. Для этого служит метод OpenLogFile:
HRESULT
OpenLogFile( [in] BSTR szLogFileName,
[in] IOMode Mode,
[in] BSTR szServiceName,
[in] long iServiceInstance,
[in] BSTR szOutputLogFileFormat),
где в параметре szLogFileName задается полный путь к
файлу; параметр Mode может принимать следующие значения:
ForReading - файл будет открыт для чтения
ForWriting - файл будет открыт для записи;
в параметре szServiceName задается название службы,
которой был создан данный файл (например "W3SVC"); парметр
iServiceInstance указывает номер экземпляра сервера данной службы (напр. 1); в
параметре szOutputLogFileFormat задается название формата, в котором будут
читаться или записываться данные (например "W3C"). Если метод
выполнился успешно то возвращается 0.
Для чтения данных из файла служит метод ReadLogRecord:
HRESULT ReadLogRecord(),
который читает строку из текущей файловой позиции и
перемещает позиционер файла дальше. Мы можем получить эти данные в виде
значений конкретных полей с помощью множества методов, которые возвращают эти
значения:
get_DateTime
Похожие работы на - Программируем под IIS на Visual C++
|