comparison xml/ru/docs/http/ngx_http_log_module.xml @ 224:7f36795d99a2

Updated ngx_http_log_module documentation including translation into English.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 06 Dec 2011 07:25:25 +0000
parents bfe3eff81d04
children 945d7299c26c
comparison
equal deleted inserted replaced
223:09b8c8b2b865 224:7f36795d99a2
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 2
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4 4
5 <module name="Директивы модуля ngx_http_log_module" 5 <module name="Модуль ngx_http_log_module"
6 link="/ru/docs/http/ngx_http_log_module.html" 6 link="/ru/docs/http/ngx_http_log_module.html"
7 lang="ru"> 7 lang="ru">
8 8
9 <section id="summary"> 9 <section id="summary">
10 10
11 <para> 11 <para>
12 Модуль ngx_http_log_module записывает логи запросов в указанном формате. 12 Модуль <code>ngx_http_log_module</code> записывает логи запросов
13 в указанном формате.
13 </para> 14 </para>
14 15
15 </section> 16 </section>
16 17
17 18
18 <section name="Пример конфигурации" id="example"> 19 <section id="example" name="Пример конфигурации">
19 20
20 <para> 21 <para>
21 <example> 22 <example>
22 log_format gzip '$remote_addr - $remote_user [$time_local] ' 23 log_format gzip '$remote_addr - $remote_user [$time_local] '
23 '"$request" $status $bytes_sent ' 24 '"$request" $status $bytes_sent '
24 '"$http_referer" "$http_user_agent" "$gzip_ratio"'; 25 '"$http_referer" "$http_user_agent" "$gzip_ratio"';
25 26
26 access_log /spool/logs/nginx-access.log gzip buffer=32k; 27 access_log /spool/logs/nginx-access.log gzip buffer=32k;
27 </example> 28 </example>
28 </para> 29 </para>
29 30
30 </section> 31 </section>
31 32
32 33
33 <section name="Директивы" id="directives"> 34 <section id="directives" name="Директивы">
34 35
35 <directive name="access_log"> 36 <directive name="access_log">
36 <syntax><value>путь [формат [buffer=размер]]|off</value> 37 <syntax>
37 </syntax> 38 <argument>путь</argument>
39 [<argument>формат</argument>
40 [<parameter>buffer</parameter>=<argument>размер</argument>]]</syntax>
41 <syntax><value>off</value></syntax>
38 <default>log/access.log combined</default> 42 <default>log/access.log combined</default>
39 <context>http, server, location, if в location, limit_except</context> 43 <context>http</context>
40 44 <context>server</context>
41 <para> 45 <context>location</context>
42 Директива access_log задаёт путь, формат и размер буфера для буферизированной 46 <context>if в location</context>
43 записи в лог. На одном уровне может использоваться несколько логов. 47 <context>limit_except</context>
44 Параметр "off" отменяет все директивы access_log для текущего уровня. 48
45 Если формат не указан, то используется предопределённый формат "combined". 49 <para>
50 Задаёт путь, формат и размер буфера для буферизованной записи в лог.
51 На одном уровне может использоваться несколько логов.
52 Специальное значение <value>off</value> отменяет все директивы
53 <code>access_log</code> для текущего уровня.
54 Если формат не указан, то используется предопределённый формат
55 “<code>combined</code>”.
46 </para> 56 </para>
47 57
48 <para> 58 <para>
49 Размер буфера должен быть не больше размера атомарной записи в дисковый файл. 59 Размер буфера должен быть не больше размера атомарной записи в дисковый файл.
50 Для FreeBSD 3.0-6.0 этот размер неограничен. 60 Для FreeBSD 3.0-6.0 этот размер неограничен.
54 В пути файла можно использовать переменные (0.7.6+), 64 В пути файла можно использовать переменные (0.7.6+),
55 но такие логи имеют некоторые ограничения: 65 но такие логи имеют некоторые ограничения:
56 <list type="bullet"> 66 <list type="bullet">
57 67
58 <listitem> 68 <listitem>
59 пользователь, с правами которого работают рабочие процессы, должен 69 <link doc="../ngx_core_module.xml" id="user">пользователь</link>,
70 с правами которого работают рабочие процессы, должен
60 иметь права на создание файлов в каталоге с такими логами; 71 иметь права на создание файлов в каталоге с такими логами;
61 </listitem> 72 </listitem>
62 73
63 <listitem> 74 <listitem>
64 не работает буферизация; 75 не работает буферизация;
65 </listitem> 76 </listitem>
66 77
67 <listitem> 78 <listitem>
68 файл открывается для каждой записи в лог и сразу же после записи закрывается. 79 файл открывается для каждой записи в лог и сразу же после записи закрывается.
69 Но дескрипторы часто используемых файлов могут храниться в 80 Следует однако иметь в виду, что поскольку дескрипторы часто используемых файлов
70 <link id="open_log_file_cache"/>. 81 могут храниться в <link id="open_log_file_cache">кэше</link>,
71 При вращении логов нужно иметь в виду, что в течение времени, заданного 82 то при вращении логов в течение времени, заданного параметром
72 параметром valid директивы <link id="open_log_file_cache"/>, 83 <parameter>valid</parameter> директивы <link id="open_log_file_cache"/>,
73 запись может продолжаться в старый файл. 84 запись может продолжаться в старый файл.
74 </listitem> 85 </listitem>
75 86
76 <listitem> 87 <listitem>
77 при каждой записи в лог проверяется существование каталога root'а для 88 при каждой записи в лог проверяется существование
78 запроса — если этот каталог не существует, то лог не создаётся. 89 <link doc="ngx_http_core_module.xml" id="root">корневого каталога</link>
90 для запроса — если этот каталог не существует, то лог не создаётся.
79 Поэтому <link doc="ngx_http_core_module.xml" id="root"/> 91 Поэтому <link doc="ngx_http_core_module.xml" id="root"/>
80 и access_log нужно описывать на одном уровне: 92 и <code>access_log</code> нужно описывать на одном уровне:
81 <example> 93 <example>
82 server { 94 server {
83 root /spool/vhost/data/$host; 95 root /spool/vhost/data/$host;
84 access_log /spool/vhost/logs/$host; 96 access_log /spool/vhost/logs/$host;
85 ... 97 ...
86 </example> 98 </example>
87 </listitem> 99 </listitem>
88 100
89 </list> 101 </list>
91 103
92 </directive> 104 </directive>
93 105
94 106
95 <directive name="log_format"> 107 <directive name="log_format">
96 <syntax><value>название строка [строка ...]</value> 108 <syntax>
109 <argument>название строка ...</argument>
97 </syntax> 110 </syntax>
98 <default>combined "..." </default> 111 <default>combined "..."</default>
99 <context>http</context> 112 <context>http</context>
100 113
101 <para> 114 <para>
102 Директива log_format описывает формат лога. 115 Задаёт формат лога.
103 </para> 116 </para>
104 117
105 <para> 118 <para>
106 Кроме общих переменных в формате можно использовать переменные, 119 Кроме общих переменных в формате можно использовать переменные,
107 существующие только на момент записи в лог: 120 существующие только на момент записи в лог:
108 <list type="bullet"> 121 <list type="tag">
109 122
110 <listitem> 123 <tag-name><var>$body_bytes_sent</var></tag-name>
111 $body_bytes_sent, число байт, переданное клиенту за вычетом заголовка ответа, 124 <tag-desc>
112 переменная совместима с параметром %B модуля Apache mod_log_config; 125 число байт, переданных клиенту, за вычетом заголовка ответа;
113 </listitem> 126 переменная совместима с параметром “<code>%B</code>” модуля Apache
114 127 <code>mod_log_config</code>
115 <listitem> 128 </tag-desc>
116 $bytes_sent, число байт, переданное клиенту; 129
117 </listitem> 130 <tag-name><var>$bytes_sent</var></tag-name>
118 131 <tag-desc>
119 <listitem> 132 число байт, переданных клиенту
120 $connection, номер соединения; 133 </tag-desc>
121 </listitem> 134
122 135 <tag-name><var>$connection</var></tag-name>
123 <listitem> 136 <tag-desc>
124 $msec, время в секундах с точностью до миллисекунд на момент записи в лог; 137 порядковый номер соединения
125 </listitem> 138 </tag-desc>
126 139
127 <listitem> 140 <tag-name><var>$msec</var></tag-name>
128 $pipe, "p" если запрос был pipelined; 141 <tag-desc>
129 </listitem> 142 время в секундах с точностью до миллисекунд на момент записи в лог
130 143 </tag-desc>
131 <listitem> 144
132 $request_length, длина тела запроса; 145 <tag-name><var>$pipe</var></tag-name>
133 </listitem> 146 <tag-desc>
134 147 “<code>p</code>” если запрос был pipelined, иначе “<code>.</code>”
135 <listitem> 148 </tag-desc>
136 $request_time, время обработки запроса в секундах с точностью до миллисекунд; 149
137 </listitem> 150 <tag-name><var>$request_length</var></tag-name>
138 151 <tag-desc>
139 <listitem> 152 длина запроса (включая строку запроса, заголовок и тело запроса)
140 $status, статус ответа; 153 </tag-desc>
141 </listitem> 154
142 155 <tag-name><var>$request_time</var></tag-name>
143 <listitem> 156 <tag-desc>
144 $time_local, локальное время в common log format. 157 время обработки запроса в секундах с точностью до миллисекунд;
145 </listitem> 158 время, прошедшее с момента чтения первых байт от клиента до
159 момента отправки последних байт клиенту и записи в лог
160 </tag-desc>
161
162 <tag-name><var>$status</var></tag-name>
163 <tag-desc>
164 статус ответа
165 </tag-desc>
166
167 <tag-name><var>$time_iso8601</var></tag-name>
168 <tag-desc>
169 локальное время в формате по стандарту ISO 8601
170 </tag-desc>
171
172 <tag-name><var>$time_local</var></tag-name>
173 <tag-desc>
174 локальное время в Common Log Format
175 </tag-desc>
146 176
147 </list> 177 </list>
148 </para> 178 </para>
149 179
150 <para> 180 <para>
151 Строки заголовка, переданные клиенту, начинаются с префикса "sent_http_", 181 Строки заголовка, переданные клиенту, начинаются с префикса
152 например, $sent_http_content_range. 182 “<code>sent_http_</code>”, например,
153 </para> 183 <var>$sent_http_content_range</var>.
154 184 </para>
155 <para> 185
156 В конфигурации всегда существует предопределённый формат "combined": 186 <para>
157 <example> 187 В конфигурации всегда существует предопределённый формат
158 log_format combined '$remote_addr - $remote_user [$time_local] ' 188 “<code>combined</code>”:
159 '"$request" $status $body_bytes_sent ' 189 <example>
160 '"$http_referer" "$http_user_agent"'; 190 log_format combined '$remote_addr - $remote_user [$time_local] '
191 '"$request" $status $body_bytes_sent '
192 '"$http_referer" "$http_user_agent"';
161 </example> 193 </example>
162 </para> 194 </para>
163 195
164 </directive> 196 </directive>
165 197
166 <directive name="open_log_file_cache"> 198 <directive name="open_log_file_cache">
167 199
168 <syntax><value>max=N [inactive=время]|off</value> 200 <syntax>
169 </syntax> 201 <parameter>max</parameter>=<argument>N</argument>
202 [<parameter>inactive</parameter>=<argument>время</argument>]
203 [<parameter>min_uses</parameter>=<argument>N</argument>]
204 [<parameter>valid</parameter>=<argument>время</argument>]</syntax>
205 <syntax><value>off</value></syntax>
170 <default>off</default> 206 <default>off</default>
171 <context>http, server, location</context> 207 <context>http</context>
172 208 <context>server</context>
173 <para> 209 <context>location</context>
174 Директива задаёт кэш, в котором хранятся дескрипторы файлов часто используемых 210
175 логов, имена которых заданы переменными. 211 <para>
176 </para> 212 Задаёт кэш, в котором хранятся дескрипторы файлов часто используемых
177 213 логов, имена которых заданы с использованием переменных.
178 <para>
179 Параметры директивы: 214 Параметры директивы:
180 <list type="bullet"> 215 <list type="tag">
181 216
182 <listitem> 217 <tag-name><parameter>max</parameter></tag-name>
183 max — задаёт маскимальное число дескрипторов в кэше; 218 <tag-desc>
184 при переполнении кэша наиболее давно не используемые дескрипторы закрываются 219 задаёт максимальное число дескрипторов в кэше;
185 (LRU); 220 при переполнении кэша наиболее давно не используемые (LRU)
186 </listitem> 221 дескрипторы закрываются
187 222 </tag-desc>
188 <listitem> 223
189 inactive — задаёт время, после которого дескриптор кэша закрывается, 224 <tag-name><parameter>inactive</parameter></tag-name>
225 <tag-desc>
226 задаёт время, после которого закэшированный дескриптор закрывается,
190 если к нему не было обращений в течение этого времени; 227 если к нему не было обращений в течение этого времени;
191 по умолчанию 10 секунд; 228 по умолчанию 10 секунд
192 </listitem> 229 </tag-desc>
193 230
194 <listitem> 231 <tag-name><parameter>min_uses</parameter></tag-name>
195 min_uses — задаёт минимальное число использований файла в течение 232 <tag-desc>
196 времени, заданного параметром inactive в директиве 233 задаёт минимальное число использований файла в течение
197 <link id="open_log_file_cache"/>, после которого дескриптор файла 234 времени, заданного параметром <parameter>inactive</parameter>,
198 будет оставаться окрытым в кэше; 235 после которого дескриптор файла будет оставаться открытым в кэше;
199 по умолчанию 1 использование; 236 по умолчанию 1
200 </listitem> 237 </tag-desc>
201 238
202 <listitem> 239 <tag-name><parameter>valid</parameter></tag-name>
203 valid — задаёт, через какое время нужно проверять, что файл ещё 240 <tag-desc>
241 задаёт, через какое время нужно проверять, что файл ещё
204 существует под тем же именем; 242 существует под тем же именем;
205 по умолчанию 60 секунд; 243 по умолчанию 60 секунд
206 </listitem> 244 </tag-desc>
207 245
208 <listitem> 246 <tag-name><value>off</value></tag-name>
209 off — запрещает кэш. 247 <tag-desc>
210 </listitem> 248 запрещает кэш
249 </tag-desc>
211 250
212 </list> 251 </list>
213 </para> 252 </para>
214 253
215 <para> 254 <para>
216 Пример использования: 255 Пример использования:
217 <example> 256 <example>
218 open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2; 257 open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
219 </example> 258 </example>
220 </para> 259 </para>
221 260
222 </directive> 261 </directive>
223 262