S3.Blog

19 Марта 2024
A A A   RSS-лента
"Я знаю, что ничего не знаю, но многие не знают и этого". Сократ [?].

Формат LogFormat в Apache

Дата последнего изменения: 18 Октября 2010
Метки статьи: Документация, Linux
В статье приведен список параметров, которые используются при создании журнальных файлов web-сервера Apache. Данные параметры используются в директивах LogFormat и CustomLog.
 

Для определения формата записываемых в журнал данных (формат журнала) используется директива LogFormat.
LogFormat формат|псевдоним [псевдоним]

Можно создать несколько вариантов форматов, назначив каждому из них псевдоним, а затем использовать, созданные псевдонимы в директивах CustomLog.
  • common - стандартное логирование запросов, включающее в себя IP адрес клиента, время, строку запроса, код ответа и размер ответа (формат %h %l %u %t "%r" %>s %b)
  • combined - логирование запросов, равное common, но с добавлением ещё адреса страницы, откуда пришел посетитель и типа браузера посетителя (формат %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i")
  • referer - формат %{Referer}i -> %U
  • agent - формат %{User-agent}i
  • traffic - лог трафика (формат %h %l %u %t "%r" %>s %O %I "%{Referer}i" "%{User-Agent}i")
  • common-wide - "обширный" (формат %h %l %u %a %U %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i")
  • full - полный (формат %a | %h | %t | %{Host}i | %U | %>s | %b | %{Referer}i | %{User-Agent}i | %T)
  • errors - журнальный файл ошибок - в него записываются все сообщения об ошибках
  • rewrite - журнальный файл модуля mod_rewrite
  • scripts - журнальный файл ошибок CGI скриптов (для логирования ошибок рекомендуем использовать журнальный файл типа errors.

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:
  • DOCUMENT_ROOT="абсолютное-имя-директории-документов-виртуального-сервера"
  • GATEWAY_INTERFACE="CGI/1.1"
  • HTTP_ACCEPT="image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*"
  • HTTP_ACCEPT_CHARSET="iso-8859-1,*,utf-8"
  • HTTP_ACCEPT_LANGUAGE="ru, en"
  • HTTP_CACHE_CONTROL="max-age=259200"
  • HTTP_CONNECTION="keep-alive"
  • HTTP_HOST="www.printhouse.ru" - если клиент посылает поле HOST в запросе
  • и т.д.
%f Имя файла, указанное в запросе
%h Имя удаленного хоста
%H Протокол запроса, например HTTP/1.1
%{header}i Значение заголовка с именем header в запросе.
  • Referer - откуда была ссылка на документ
  • User-agent - что сказал о себе браузер
  • Host - имя домена, на который пришел запрос
  • X-Forwarded-For - IP, находящийся за прокси, с которого пришел запрос
  • X-Forwarded-Host - имя домена, на который был запрос, который пришел из прокси-редиректа
%I (i большое) Полученные байты, включая сам запрос и заголовки. Для использования этого параметра необходимо подключить модуль mod_logio
%l (L маленькое) Идентификатор клиента. Записывается если включена директива IndentyCheck и клиент предоставил данные для идентификации, в противном случае записывается прочерк.
Простыми словами: имя удаленного пользователя (если задействован ident)
%m Метод запроса: GET, POST, PUT и т.д.
%{ModuleNote}n Значение примечания с именем ModuleNote, созданной другим модулем (например, %{forensic-id}n или %{cookie}n)
%{header}o Значение заголовка с именем header в ответе сервера.
%O Отправленные байты, включая заголовки. Для использования этого параметра необходимо подключить модуль mod_logio
%p Порт сервера, который обслуживает запрос
%P PID дочернего процесса Apache, который обслуживает запрос.
%{format}P Идентификатор процесса, либо идентификатор нити дочернего процесса Apache, обслуживающего запрос. В качестве формата могут быть указаны pid или tid. Доступно для использования, начиная с Apache 2.0.46. Пример: %{pid}P
%q Параметры строки запроса, указанные после символа ?. Если параметров не найдено, то записывается '-'
%r Первая строка запроса.
%s Статус ответа сервера: 200, 401, 403, 404 и т.п.
%>s Последний статус ответа сервера, если имели место внутренние перенаправления запроса.
%t Время, в которой сервер зафиксировал запрос в CLF-формате ([day2d/month3l/year4d:hour2l:minute2l:second2l zone], где zone в формате [+|-]hour2dmin2d)
%{format}t Время, отформатированное в соответствии с параметром format. Синтаксис параметра format на man-странице для strftime в системах unix, а также в описании функции strftime в справочнике функций PHP.
%T Время в секундах, затраченное на обслуживание запроса
%u Имя удаленного пользователя, если запрос требовал аутентификации HTTP и если статус не равен 401
%U Запрошенный URL, исключая параметры, указанные после символа ?
%v Каноноческое имя сервера, обслуживающего запрос
%V Имя сервера, записанное в формате, определенным директивой UseCanonicalName
%X Статус соединения, после отправки ответа сервера.
  • X = соединение было прервано перед отправкой ответа
  • + = соединение было сохранено после отправки ответа
  • - = соединение было закрыто после отправки ответа


По материалам статей:
Формат журнальных файлов Apache
Apache 2: HTTP сервер. Установка, настройка
Настройка веб-сервера Apache, HTML



Похожие материалы:




 
  Имя *:   Решите пример *: =
 
Полужирный Курсив Подчеркнутый Перечеркнутый
 
Вставить изображение Сделать цитатой Вставить ссылку Вставить код

Вставить смайл
 
 

 



© S3.Blog: Если критикуешь, не предлагая решения проблемы, то ты становишься частью этой проблемы.