# HG changeset patch # User Ruslan Ermilov # Date 1323156325 0 # Node ID 7f36795d99a2eab19e02c9aa17e4db7ebd95f536 # Parent 09b8c8b2b865e21f73e37afc7860807d7894cfde Updated ngx_http_log_module documentation including translation into English. diff -r 09b8c8b2b865 -r 7f36795d99a2 xml/en/GNUmakefile --- a/xml/en/GNUmakefile Tue Dec 06 07:19:07 2011 +0000 +++ b/xml/en/GNUmakefile Tue Dec 06 07:25:25 2011 +0000 @@ -49,6 +49,7 @@ http/ngx_http_index_module \ http/ngx_http_limit_conn_module \ http/ngx_http_limit_req_module \ + http/ngx_http_log_module \ http/ngx_http_mp4_module \ http/ngx_http_random_index_module \ diff -r 09b8c8b2b865 -r 7f36795d99a2 xml/en/docs/http/ngx_http_log_module.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/en/docs/http/ngx_http_log_module.xml Tue Dec 06 07:25:25 2011 +0000 @@ -0,0 +1,268 @@ + + + + + + +
+ + +The ngx_http_log_module module writes request logs +in the specified 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; + + + +
+ + +
+ + + + path + [format + [buffer=size]] +off +log/access.log combined +http +server +location +if in location +limit_except + + +Sets the path, format, and buffer size for the buffered log writes. +Several logs can be specified on the same level. +The special value off cancels all access_log +directives on the current level. +If format is not specified then the predefined format +“combined” is used. + + + +The buffer size must not exceed the size of the atomic write to a disk file. +For FreeBSD 3.0-6.0 this size is unlimited. + + + +The file path can contain variables (0.7.6+), +but such logs have some constraints: + + + +the +whose credentials are used by worker processes should +have permissions to create files in a directory with +such logs; + + + +buffered writes do not work; + + + +a file is opened and closed for each log write. +However, since the descriptors of frequently used files can be stored +in a cache, writes during the +time specified by the valid parameter of the + directive can continue to be made +to the old file. + + + +during each log write the existence of the request’s +root directory +is checked, and if it does not exist the log is not +created. +It is thus a good idea to specify both + +and access_log on the same level: + +server { + root /spool/vhost/data/$host; + access_log /spool/vhost/logs/$host; + ... + + + + + + + + + + + +name string ... + +combined "..." +http + + +Specifies format of a log. + + + +The log format can contain common variables, and variables that +exist only at the time of a log write: + + +$body_bytes_sent + +the number of bytes sent to a client not counting the response header; +this variable is compatible with the “%B” parameter of the +mod_log_config +Apache module + + +$bytes_sent + +the number of bytes sent to a client + + +$connection + +connection serial number + + +$msec + +time in seconds with a milliseconds resolution at the time of log write + + +$pipe + +“p” if request was pipelined, “.” otherwise + + +$request_length + +request length (including request line, header, and request body) + + +$request_time + +request processing time in seconds with a milliseconds resolution; +time elapsed since first bytes were read from the client till +last bytes were sent to client and logging happened + + +$status + +response status + + +$time_iso8601 + +local time in the ISO 8601 standard format + + +$time_local + +local time in the Common Log Format + + + + + + +Header lines sent to a client have the prefix +“sent_http_”, for example, +$sent_http_content_range. + + + +The configuration always includes the predefined format +“combined”: + + log_format combined '$remote_addr - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent"'; + + + + + + + + +max=N +[inactive=time] +[min_uses=N] +[valid=time] +off +off +http +server +location + + +Defines a cache that stores file descriptors of frequently used logs +whose names contain variables. +The directive has the following parameters: + + +max + +sets a maximum number of descriptors in a cache; +if cache becomes full the least recently used (LRU) +descriptors are closed + + +inactive + +sets a time after which the cached descriptor is closed +if there were no access during this time; +by default, 10 seconds + + +min_uses + +sets a minimum number of file uses during the time +defined by the inactive parameter +after which the descriptor will stay open in a cache; +by default, 1 + + +valid + +sets a time after which it should be checked that the file +still exists with the same name; by default, 60 seconds + + +off + +disables caching + + + + + + +Example usage: + +open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2; + + + + + +
+ +
diff -r 09b8c8b2b865 -r 7f36795d99a2 xml/en/docs/index.xml --- a/xml/en/docs/index.xml Tue Dec 06 07:19:07 2011 +0000 +++ b/xml/en/docs/index.xml Tue Dec 06 07:25:25 2011 +0000 @@ -92,6 +92,11 @@ + +ngx_http_log_module + + + ngx_http_mp4_module diff -r 09b8c8b2b865 -r 7f36795d99a2 xml/en/index.xml --- a/xml/en/index.xml Tue Dec 06 07:19:07 2011 +0000 +++ b/xml/en/index.xml Tue Dec 06 07:25:25 2011 +0000 @@ -101,7 +101,10 @@ -Access log formats, buffered log writing, and +Access +log formats, +buffered +log writing, and fast log rotation; diff -r 09b8c8b2b865 -r 7f36795d99a2 xml/ru/docs/http/ngx_http_log_module.xml --- a/xml/ru/docs/http/ngx_http_log_module.xml Tue Dec 06 07:19:07 2011 +0000 +++ b/xml/ru/docs/http/ngx_http_log_module.xml Tue Dec 06 07:25:25 2011 +0000 @@ -2,47 +2,57 @@ -
-Модуль ngx_http_log_module записывает логи запросов в указанном формате. +Модуль ngx_http_log_module записывает логи запросов +в указанном формате.
-
+
- log_format gzip '$remote_addr - $remote_user [$time_local] ' - '"$request" $status $bytes_sent ' - '"$http_referer" "$http_user_agent" "$gzip_ratio"'; + 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 /spool/logs/nginx-access.log gzip buffer=32k;
-
+
-путь [формат [buffer=размер]]|off - + + путь + [формат + [buffer=размер]] +off log/access.log combined -http, server, location, if в location, limit_except +http +server +location +if в location +limit_except -Директива access_log задаёт путь, формат и размер буфера для буферизированной -записи в лог. На одном уровне может использоваться несколько логов. -Параметр "off" отменяет все директивы access_log для текущего уровня. -Если формат не указан, то используется предопределённый формат "combined". +Задаёт путь, формат и размер буфера для буферизованной записи в лог. +На одном уровне может использоваться несколько логов. +Специальное значение off отменяет все директивы +access_log для текущего уровня. +Если формат не указан, то используется предопределённый формат +“combined”. @@ -56,7 +66,8 @@ -пользователь, с правами которого работают рабочие процессы, должен +пользователь, +с правами которого работают рабочие процессы, должен иметь права на создание файлов в каталоге с такими логами; @@ -66,22 +77,23 @@ файл открывается для каждой записи в лог и сразу же после записи закрывается. -Но дескрипторы часто используемых файлов могут храниться в -. -При вращении логов нужно иметь в виду, что в течение времени, заданного -параметром valid директивы , +Следует однако иметь в виду, что поскольку дескрипторы часто используемых файлов +могут храниться в кэше, +то при вращении логов в течение времени, заданного параметром +valid директивы , запись может продолжаться в старый файл. -при каждой записи в лог проверяется существование каталога root'а для -запроса — если этот каталог не существует, то лог не создаётся. +при каждой записи в лог проверяется существование +корневого каталога +для запроса — если этот каталог не существует, то лог не создаётся. Поэтому -и access_log нужно описывать на одном уровне: +и access_log нужно описывать на одном уровне: server { - root /spool/vhost/data/$host; - access_log /spool/vhost/logs/$host; + root /spool/vhost/data/$host; + access_log /spool/vhost/logs/$host; ... @@ -93,71 +105,91 @@ -название строка [строка ...] + +название строка ... -combined "..." +combined "..." http -Директива log_format описывает формат лога. +Задаёт формат лога. Кроме общих переменных в формате можно использовать переменные, существующие только на момент записи в лог: - + - -$body_bytes_sent, число байт, переданное клиенту за вычетом заголовка ответа, -переменная совместима с параметром %B модуля Apache mod_log_config; - +$body_bytes_sent + +число байт, переданных клиенту, за вычетом заголовка ответа; +переменная совместима с параметром “%B” модуля Apache +mod_log_config + - -$bytes_sent, число байт, переданное клиенту; - +$bytes_sent + +число байт, переданных клиенту + - -$connection, номер соединения; - +$connection + +порядковый номер соединения + - -$msec, время в секундах с точностью до миллисекунд на момент записи в лог; - +$msec + +время в секундах с точностью до миллисекунд на момент записи в лог + - -$pipe, "p" если запрос был pipelined; - +$pipe + +“p” если запрос был pipelined, иначе “.” + - -$request_length, длина тела запроса; - +$request_length + +длина запроса (включая строку запроса, заголовок и тело запроса) + - -$request_time, время обработки запроса в секундах с точностью до миллисекунд; - +$request_time + +время обработки запроса в секундах с точностью до миллисекунд; +время, прошедшее с момента чтения первых байт от клиента до +момента отправки последних байт клиенту и записи в лог + - -$status, статус ответа; - +$status + +статус ответа + - -$time_local, локальное время в common log format. - +$time_iso8601 + +локальное время в формате по стандарту ISO 8601 + + +$time_local + +локальное время в Common Log Format + -Строки заголовка, переданные клиенту, начинаются с префикса "sent_http_", -например, $sent_http_content_range. +Строки заголовка, переданные клиенту, начинаются с префикса +“sent_http_”, например, +$sent_http_content_range. -В конфигурации всегда существует предопределённый формат "combined": +В конфигурации всегда существует предопределённый формат +“combined”: - log_format combined '$remote_addr - $remote_user [$time_local] ' - '"$request" $status $body_bytes_sent ' - '"$http_referer" "$http_user_agent"'; + log_format combined '$remote_addr - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent"'; @@ -165,49 +197,56 @@ -max=N [inactive=время]|off - + +max=N +[inactive=время] +[min_uses=N] +[valid=время] +off off -http, server, location - - -Директива задаёт кэш, в котором хранятся дескрипторы файлов часто используемых -логов, имена которых заданы переменными. - +http +server +location +Задаёт кэш, в котором хранятся дескрипторы файлов часто используемых +логов, имена которых заданы с использованием переменных. Параметры директивы: - + - -max — задаёт маскимальное число дескрипторов в кэше; -при переполнении кэша наиболее давно не используемые дескрипторы закрываются -(LRU); - +max + +задаёт максимальное число дескрипторов в кэше; +при переполнении кэша наиболее давно не используемые (LRU) +дескрипторы закрываются + - -inactive — задаёт время, после которого дескриптор кэша закрывается, +inactive + +задаёт время, после которого закэшированный дескриптор закрывается, если к нему не было обращений в течение этого времени; -по умолчанию 10 секунд; - +по умолчанию 10 секунд + - -min_uses — задаёт минимальное число использований файла в течение -времени, заданного параметром inactive в директиве -, после которого дескриптор файла -будет оставаться окрытым в кэше; -по умолчанию 1 использование; - +min_uses + +задаёт минимальное число использований файла в течение +времени, заданного параметром inactive, +после которого дескриптор файла будет оставаться открытым в кэше; +по умолчанию 1 + - -valid — задаёт, через какое время нужно проверять, что файл ещё +valid + +задаёт, через какое время нужно проверять, что файл ещё существует под тем же именем; -по умолчанию 60 секунд; - +по умолчанию 60 секунд + - -off — запрещает кэш. - +off + +запрещает кэш + @@ -215,7 +254,7 @@ Пример использования: -open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2; +open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2; diff -r 09b8c8b2b865 -r 7f36795d99a2 xml/ru/index.xml --- a/xml/ru/index.xml Tue Dec 06 07:19:07 2011 +0000 +++ b/xml/ru/index.xml Tue Dec 06 07:25:25 2011 +0000 @@ -119,7 +119,10 @@ -Настройка форматов логов, +Настройка +форматов логов, +буферизованная +запись в лог, быстрая ротация логов;