RuHttpLogModule

= ngx_http_log_module =

Модуль ngx_http_log_module записывает логи запросов в указанном формате. Содержание Пример конфигурации

Директивы

 * [#access_log access_log]
 * [#log_format log_format ]

Пример конфигурации
 * log_format gzip  '$remote_addr - $remote_user [$time_local]  '
 * '"$request" $status $bytes_sent '
 * '"$http_referer" "$http_user_agent" "$gzip_ratio"';


 * access_log /spool/logs/nginx-access.log  gzip  buffer=32k;

access_log
syntax: access_log путь [формат [buffer=размер |off ] default: access_log log/access.log combined

context: http, server, location

Директива access_log задаёт путь, формат и размер буфера для буферизированной записи в лог. На одном уровне может использоваться несколько логов. Параметр "off" отменяет все директивы access_log для текущего уровня. Если формат не указан, то используется предопределённый формат "combined".

Размер буфера должен быть не больше размера атомарной записи в дисковый файл. Для FreeBSD 3.0-6.0 этот размер неограничен.

log_format
syntax: log_format название строка [строка ...] 

default: log_format combined "..."

context: http

Директива log_format описывает формат лога.

Кроме общих переменных в формате можно использовать переменные, существующие только на момент записи в лог:


 * $body_bytes_sent, число байт, переданное клиенту за вычетом заголовка ответа, переменная совместима с параметром %B модуля Apache mod_log_config;
 * $bytes_sent, число байт, переданное клиенту;
 * $connection, номер соединения;
 * $msec, время с точностью до микросекунд на момент записи в лог;
 * $pipe, "p" если запрос был pipeling ;
 * $request_length, длина тела запроса;
 * $request_time, время обработки запроса в секундах;
 * $status, статус ответа;
 * $time_local, локальное время в common log format.

Строки заголовка, переданные клиенту, начинаются с префикса "sent_http_", например, $sent_http_content_range.

В конфигурации всегда существует предопределённый формат "combined":
 * log_format combined  '$remote_addr - $remote_user [$time_local]  '
 * '"$request" $status $apache_bytes_sent '
 * '"$http_referer" "$http_user_agent"';