Лог доступа

Модуль: mod_accesslog

Автор: Jan Kneschke
Дата: 2004-11-03
Версия: 1.2

Суть

Модуль лога доступа ...

Содержание

Описание

CLF в конце строки по-умолчанию, гибкость настроек как у apache'а

Опции

accesslog.use-syslog

писать лог доступа в syslog

По-умолчанию: выключено

accesslog.filename

имя файла в который должен писаться лог если syslog не используется.

если используется символ '|', то за ним пишется название программы которая будет запущена и начнёт принимать лог доступа на stdin

например:

accesslog.filename = "/var/log/lighttpd.log"

$HTTP["host"] == "mail.example.org" {
  accesslog.filename = "|/usr/bin/cronolog"
}

По умолчанию: отключено

accesslog.format

формат лога

Опция Описание
%% знак процента
%h имя или адрес удалённого хоста
%l ident имя (не поддерживается)
%u авторизованный пользователь
%t отметка времени(timestamp) начала запроса
%r запрошенная линия(request-line)
%s код статуса
%b отправлено байт в body
%i поле HTTP-заголовка
%a удалённый адрес
%A локальный адрес
%B тоже что и %b
%C поле cookie(не поддерживается)
%D использованное время в мс.(не поддерживается)
%e окружение(не поддерживается)
%f phyiscal имя файла
%H протокол запроса (HTTP/1.0, ...)
%m метод запроса (GET, POST, ...)
%n (не поддерживается)
%o заголовок ответа
%p порт сервера
%P (не поддерживается)
%q строка запроса(query)
%T использованное время в секундах
%U запрошенный URL
%v имя сервера
%V (не поддерживается)
%X статус соединения
%I входящее кол-во байт
%O исходящее кол-во байт

Если %s написано как %>s или %<s то < и > игнорируются. Они поддерживаются для совместимости с apache.

%i и %o используют имя поля которое должно быть написано в фигурных скобках.

например:

accesslog.format = "%h %l %u %t \"%r\" %b %>s \"%{User-Agent}i\" \"%{Referer}i\""

По умолчанию: CLF совместимый вывод

заголовок ответа

accesslog модуль позволяет писать в лог информацию поступающую от приложения. Это может использоваться чтобы записывать в лог идентификатор сессии(session id) .

Если вы хотите сохранять это в лог, просто укажите имя поля в виде %{...}o

accesslog.format = "%h %l %u %t \"%r\" %b %>s \"%{User-Agent}i\" \"%{Referer}i\" \"%{X-LIGHTTPD-SID}o\""

Каждый заголовок ответа с приставкой X-LIGHTTPD- имеет спец. значение для lighttpd и не отсылается клиенту.

Использование этой возможности показано ниже:

<?php

session_start();

header("X-LIGHTTPD-SID: ".session_id());

?>