FAQ

Page Discussion Edit History

RuHttpLogModule

(Redirected from NginxRuHttpLogModule)

Contents

[edit] ngx_http_log_module

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


[edit] Директивы

  • [#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;


Template:Anchor

[edit] 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 этот размер неограничен.


Template:Anchor

[edit] 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"';