Информационный портал «SoftTime-INFO»
|
Формат журнальных файлов Apache В статье приведен список параметров, которые используются при создании журнальных файлов web-сервера Apache. Данные параметры используются в директивах LogFormat и CustomLog.
Автор: Голышев С.В. glsv@yandex.ru
Для определения формата записываемых в журнал данных (формат журнала) используется директива LogFormat.
Синтаксис директивы LogFormat
LogFormat формат|псевдоним [псевдоним]
Можно создать несколько вариантов форматов, назначив каждому из них псевдоним, а затем использовать, созданные псевдонимы в директивах CustomLog.
Пример
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %t %>s" short
CustomLog logs/access.log common
CustomLog logs/short.log short
Если директива LogFormat определяет формат журнала без создания псевдонима, то созданный формат применяется к директиве TransferLog. Для записи журналов директива TransferLog использует формат, описанный в последней директиве LogFormat, либо формат по умолчанию (если ни одной директивы LogFormat не найдено).
Пример
LogFormat "%h %l %u %t \"%r\" %>s %b"
TransferLog logs/access.log
Формат журнала определяется строкой в которой перечисляются различные параметры запроса, такие как удаленный IP-адрес, время обращения, ответ сервера и т.п. Полный список возможных параметров приведен в таблице.
| Параметр |
Описание |
| %a |
IP-адрес
удаленного хоста |
| %A |
IP-адрес
локального хоста |
| %B |
Размер ответа сервера в байтах, исключая HTTP-заголовки |
| %b |
Размер ответа сервера в байтах, исключая HTTP-заголовки. Вывод
записывается в формате CLF, т.е. если ответ сервера равнялся 0 байтов, то
вместо 0 записывается прочерк -. |
| %{my_cookie}C |
Значение cookies с именем
my_cookie |
| %D |
Время в миллисекундах, потраченное сервером на обслуживание
запроса. |
| %{env}e |
Значение переменной окружения с именем env |
| %f |
Имя файла, указанное в запросе |
| %h |
Удаленный хост |
| %H |
Протокол запроса, например HTTP/1.1 |
| %{header}i |
Значение заголовка с именем header в запросе. Например, чтобы
получить значение заголовка User-Agent нужно записать: %{ User-Agent}i |
| %l |
Идентификатор клиента. Записывается если включена директива
IndentyCheck и клиент предоставил данные для идентификации, в противном
случае записывается прочерк. |
| %m |
Метод запроса: GET, POST, PUT и т.д. |
| %{ModuleNote}n |
Значение примечания с именем ModuleNote из другого модуля. |
| %{header}o |
Значение заголовка с именем header в ответе сервера. |
| %p |
Порт сервера, который обслуживает запрос |
| %P |
Идентификатор дочернего процесса Apache, который обслуживает
запрос. |
| %{format}P |
Идентификатор процесса, либо идентификатор нити дочернего
процесса Apache, обслуживающего запрос. В качестве формата могут быть указаны
pid или tid. Доступно для использования, начиная с Apache 2.0.46. Пример:
%{pid}P |
| %q |
Параметры строки запроса, указанные после символа ?. Если
параметров не найдено, то записывается -. |
| %r |
Первая строка запроса. |
| %s |
Статус ответа сервера: 200, 401, 403, 404 и т.п. |
| %>s |
Последний статус ответа сервера, если имели место внутренние
перенаправления запроса. |
| %t |
Время, в которой сервер зафиксировал запрос. |
| %{format}t |
Время, отформатированное в соответствии с параметром format.
Синтаксис параметра format на man-странице для strftime в системах unix, а
также в описании функции strftime в справочнике функций PHP. |
| %T |
Время в секундах, затраченное на обслуживание запроса |
| %u |
Имя удаленного пользователя, если запрос требовал аутентификации
HTTP. |
| %U |
Запрошенный URL,исключая параметры, указанные после символа ? |
| %v |
Каноноческое имя сервера, обслуживающего запрос |
| %V |
Имя сервера, записанное в формате, определенным директивой UseCanonicalName |
| %X |
Статус соединения, после отправки ответа сервера. |
| X = соединение было прервано перед отправкой ответа |
| + = соединение было сохранено после
отправки ответа |
| - =
соединение было закрыто после отправки ответа |
| %I |
Полученные байты, включая сам запрос и заголовки. Для
использования этого параметра необходимо подключить модуль mod_logio. |
| %O |
Отправленные байты, включая заголовки. Для использования этого
параметра необходимо подключить модуль mod_logio. |
| |
|
|