Формат логов

Иногда наступает момент, когда стандартный формат логов Апача уже не торт, поэтому приходится указывать свой формат, благо Апач предоставляет очень большие возможности.

Изначально, в настройках апача /etc/apache2/apache2.conf прописаны такие правила

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

Синтаксис такой:

LogFormat формат псевдоним

Мне понадобилось отслеживать время затраченное на выполнение запроса. Я взял формат из псевдонима common и дописал %T %D:

<VirtualHost *:80>
   ...
   CustomLog ${APACHE_LOG_DIR}/access.monitor "%h %l %u %t \"%r\" %>s %b %T %D"
   ...
</VirtualHost>

Напоминаю, апач имеет следующий список возможных параметров:

Параметр Описание
%a IP-адрес удаленного хоста
%A IP-адрес локального хоста
%B Размер ответа сервера в байтах, исключая HTTP-заголовки
%b Размер ответа сервера в байтах, исключая HTTP-заголовки. Вывод записывается в формате CLF, т.е. если ответ сервера равнялся 0 байтов, то вместо 0 записывается прочерк -.
%{my_cookie}C Значение cookies с  именем my_cookie
%D Время в микросекундах, потраченное сервером на обслуживание запроса. 1 секунда = 1 000 000 микросекунд
%{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.

Задача решена, всем удачи.

Оцени публикацию:
  • 0,0
Оценили человек: 0

Похожие статьи:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2017 YaPro.Ru

Главная » Веб-мастеру » Apache »