- • Цикл обработки запроса клиента
- • Httpd.conf - файл конфигурации
- • Переменные окружения веб-сервера
- •Описание значений элементов log - журнала
Presently online : 14
Описание значений элементов log - журнала
Журнал ошибок управляется директивами ErrorLog и LogLevel модуля Core. Кроме сообщений сервера сюда направляется вывод на stderr скриптов CGI.
Журнал доступа управляется модулем LoadModule log_config_module modules/mod_log_config.so, который позволяет задать имя файла и формат вывода. Данный журнал содержит записи о всех (если не отфильтровано директивой CustomLog) запросах к серверу.
Фрагмент конфигурационного файла httpd.conf веб сервера Apache
#ErrorLog: The location of the error log file.
ErrorLog logs/error.log
# LogLevel: Control the number of messages logged to the error.log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# The location and format of the access logfile (Common Logfile Format).
CustomLog logs/access.log combined
Каждый виртуальный сервер может вести произвольное число журналов в различных форматах.
Каждый запрос к серверу порождает строку в журнале, состоящую из элементов (token), разделенных пробелами. Пустой элемент записывается как символ '-'. Если элемент содержит пробелы, то он должен заключаться в кавычки (это надо самому предусмотреть при описании формата).
Фрагмент записей лог-журнала веб сервера Apache
htaccess.net.ru 212.193.208.100 - - [06/Jun/2006:11:55:51 +0400] "GET /images/logotype/favicon.ico HTTP/1.1" 304 - "http://htaccess.net.ru/doc/htaccess/index.php" "Opera/8.52 (Windows NT 5.1; U; ru)"
htaccess.net.ru 212.193.208.100 - - [06/Jun/2006:11:56:43 +0400] "GET /doc/htaccess/Options.php HTTP/1.1" 200 19839 "http://htaccess.net.ru/doc/htaccess/index.php" "Opera/8.52 (Windows NT 5.1; U; ru)"
htaccess.net.ru 212.193.208.100 - - [06/Jun/2006:11:56:43 +0400] "GET /css/style.css HTTP/1.1" 304 - "http://htaccess.net.ru/doc/htaccess/Options.php" "Opera/8.52 (Windows NT 5.1; U; ru)"
htaccess.net.ru 66.249.72.200 - - [06/Jun/2006:12:25:54 +0400] "GET /robots.txt HTTP/1.1" 200 2251 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
htaccess.net.ru 66.249.72.200 - - [06/Jun/2006:12:25:54 +0400] "GET /doc/AddType/default_coding3.php HTTP/1.1" 200 18888 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
htaccess.net.ru 87.249.39.245 - - [06/Jun/2006:12:33:16 +0400] "GET /doc/htaccess/auth.php HTTP/1.1" 200 22179 "http://www.google.ru/search?hl=ru&q=AuthUser
htaccess.net.ru 195.49.186.51 - - [11/Jun/2006:22:30:51 +0400] "GET /forums/templates/subSilver/images/folder.gif HTTP/1.1" 200 344 "http://htaccess.net.ru/forums/search.php?search_id=newposts" "Opera/7.60 (Windows NT 5.1; U) [ru]"
При описании формата используются литеральные символы, которые копируются в журнал (можно использовать '\n' и т.п.; кавычки и обратная косая должны быть прикрыты символом '\') и директивы, которые начинаются с символа '%' и завершаются однобуквенным именем директивы. Между ними может стоять условие в виде списка кодов завершения HTTP через запятую (м.б. предваренных восклицательным знаком для операции отрицания) - если условие не выполняется, то вместо элемента записывается минус. Модификаторы перед буквой директивы позволяют определить (в случае внутреннего перенаправления) атрибут исходного ('<') или результирующего ('>') запроса будет использоваться при создании строки журнала.
Директива в описании формата замещается соответствующим значением:
%% - '%'
%a - адрес удаленного хоста
%A - локальный адрес
%B - количество посланных байт, кроме HTTP-заголовка
%b - количество посланных байт, кроме HTTP-заголовка (вместо 0 пишется '-')
%{имя-куки}C - значение куки
%D - микросекунд потрачено на обработку запроса
%{имя}e - значение переменной окружения
%f - имя файла
%h - имя удаленного хоста
%H - протокол (HTTP)
%{имя-заголовка}i - значение заголовка запроса; наиболее часто используются
Referer - откуда была ссылка на документ
User-agent - что сказал о себе броузер
%I - количество полученных байт, включая заголовки (требуется logio)
%l - имя удаленного пользователя (если задействован ident)
%m - метод (GET, PUT и т . д .)
%{имя-заметки}n - содержимое заметки с указанным именем, созданной другим модулем (например, %{forensic-id}n или %{cookie}n)
%{имя-заголовка}o - значение заголовка ответа
%O - количество посланных байт, включая заголовки (требуется logio)
%p - канонический номер порта сервера
%P - pid процесса, обслуживающего запрос
%{tid}P - идентификатор потока, обслуживающего запрос
%q - поисковая часть URI (после '?')
%r - первая строка запроса
%s - статус запроса (код возврата HTTP)
%t - время в CLF- формате ([day2d/month3l/year4d:hour2l:minute2l:second2l zone], где zone в формате [+|-]hour2dmin2d)
%{формат}t - время, формат описан в strftime(3)
%T - секунд, прошедших до окончания обслуживания запроса
%u - имя авторизованного пользователя (если статус не равен 401)
%U - запрошенный URL без поисковой части
%v - канонический ServerName
%V - имя сервера в соответствии с значением UseCanonicalName
%X - состояние соединения к моменту завершения ответа ('X' - преждевременный обрыв, '+' - можно использовать повторно, '-' - необходимо закрыть после завершения обработки запроса)
Данный фрагмент описание, документация и инструкции сервера apache взят с http://bog.pp.ru/
