События, происходящие на сервере, регистрируются Apache в журналах. По умолчанию в каталоге logs (C:\Apache2\logs) расположены два файла журна- лов — access.log и error.log. Эти журналы позволяют получить подробную информацию обо всех запросах и ошибках. Открыть эти файлы можно с по- мощью любого текстового редактора (например, с помощью Блокнота).
Файл access.log содержит следующую информацию — IP-адрес, дату и время запроса, метод (GET или POST), имя запрошенного файла, протокол, код со- стояния запроса (код 200 означает, что файл успешно найден, а 404 — озна- чает, что файл не найден) и размер файла. Кроме того, файл может содержать информацию о ссылающейся странице (с которой перешел пользователь на наш сайт с другого сайта), а также информацию о Web-браузере посетителя. Пример строки журнала:
127.0.0.1 - - [25/May/2008:22:34:24 +0400] "GET /test.php HTTP/1.1" 200 59
Файл error.log содержит информацию об ошибке — дату и время запроса, IP- адрес, информацию об ошибке. Кроме того, файл может содержать инфор- мацию о ссылающейся странице (на которой была ошибочная ссылка на наш сайт), а также информацию о Web-браузере посетителя:
[Sun May 25 22:34:24 2008] [error] [client 127.0.0.1] File does not ex- ist: C:/Apache2/htdocs/m
Запись об ошибке дублируется и в файле access.log:
127.0.0.1 - - [25/May/2008:22:34:24 +0400] "GET /m HTTP/1.1" 404 283
Местоположение и формат журналов задаются с помощью следующих директив:
Существуют и другие переменные директивы LogFormat, но они исполь- зуются крайне редко, так как программы обработки log-файлов настрое- ны на форматы common и combined. С помощью этих программ можно по- лучить статистические данные в более удобном формате;
ErrorLog определяет местоположение журнала регистрации ошибок:
ErrorLog logs/error.log
LogLevel позволяет установить уровень регистрации ошибок и диагно- стических сообщений в журнале error.log. По умолчанию директива на- строена на регистрацию аварийных ситуаций (warn). Могут быть заданы следующие значения: debug, info, notice, warn, error, crit, alert или emerg:
LogLevel warn
HostnameLookups — если директива имеет значение On, то Apache будет регистрировать полное имя хоста клиента, а не только IP-адрес. Значение по умолчанию: