Для того, чтобы иметь возможность получать интересующую информацию из логов веб-сервера, нужно сначала настроить журнализацию так, чтобы эта информация туда попадала. Веб-сервер Apache предоставляет возможность ведения любого количества журналов и определения формата каждого.
Формат журнала определяется директивой LogFormat. Полное описание этой директивы выходит за рамки этой статьи, поэтому скажу только, что в стандартном файле конфигурации httpd.conf, поставляемым с Apache, под именем combined уже определен формат лога, предоставляющий следующую информацию: ip адрес клиента, дату и время запроса, содержание запроса, код ответа сервера, количество переданных байт, адрес ссылающейся страницы, описание браузера клиента и еще пару элементов, которых мы касаться не будем. Определение формата выглядит следующим образом:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
Теперь осталось определить файл лога:
CustomLog <имя_файла> combined
Если вы используете Internet Information Server, нужно на странице Web Site свойств сервера отметить опцию Enable Logging и выбрать формат лога. У формата W3C Extended Log File Format можно выбирать записываемые элементы запроса (Properties\Extended Properties).