comparison xml/ru/docs/http/ngx_http_log_module.xml @ 76:4a4caa566120

Russian documentation import. Changes in module.dtd: <example> now allowed to contain <value> and <emphasis> elements (we need this to show important parts in examples), less strict checking of <directive> syntax (we don't want to fully document some directives, notably deprecated ones). Known issues: 1. <syntax> elements are preserved as is, they will require manual conversion (likely to some not-yet-existed format a la DocBook cmdsynopsis, as currently used one seems to be incomplete); 2. <value> no longer corresponds to replaceable content, and it's use in examples isn't correct; 3. <link doc="document#fragment"> doesn't work with current xslt, either should be supported or changed to <link doc="document" id="fragment">. The following files are intentionally omitted: maillists.xml (support.xml should be used instead), experimental.xml (obsolete), faq.xml (conflicts with existing one, needs discussion). Not yet linked to site.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Oct 2011 12:57:50 +0000
parents
children 0a45870d0160
comparison
equal deleted inserted replaced
75:2bf4cd2787c5 76:4a4caa566120
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4
5 <module name="Директивы модуля ngx_http_log_module"
6 link="/ru/docs/http/ngx_http_log_module.html"
7 lang="ru">
8
9 <section name="" id="summary">
10
11 <para>
12 Модуль ngx_http_log_module записывает логи запросов в указанном формате.
13 </para>
14
15 </section>
16
17
18 <section name="Пример конфигурации" id="example">
19
20 <para>
21 <example>
22 log_format gzip '$remote_addr - $remote_user [$time_local] '
23 '"$request" $status $bytes_sent '
24 '"$http_referer" "$http_user_agent" "$gzip_ratio"';
25
26 access_log /spool/logs/nginx-access.log gzip buffer=32k;
27 </example>
28 </para>
29
30 </section>
31
32
33 <section name="Директивы" id="directives">
34
35 <directive name="access_log">
36 <syntax>access_log <value>путь [формат [buffer=размер]]|off</value>
37 </syntax>
38 <default>access_log log/access.log combined</default>
39 <context>http, server, location, if в location, limit_except</context>
40
41 <para>
42 Директива access_log задаёт путь, формат и размер буфера для буферизированной
43 записи в лог. На одном уровне может использоваться несколько логов.
44 Параметр "off" отменяет все директивы access_log для текущего уровня.
45 Если формат не указан, то используется предопределённый формат "combined".
46 </para>
47
48 <para>
49 Размер буфера должен быть не больше размера атомарной записи в дисковый файл.
50 Для FreeBSD 3.0-6.0 этот размер неограничен.
51 </para>
52
53 <para>
54 В пути файла можно использовать переменные (0.7.6+),
55 но такие логи имеют некоторые ограничения:
56 <list type="bullet">
57
58 <listitem>
59 пользователь, с правами которого работают рабочие процессы, должен
60 иметь права на создание файлов в каталоге с такими логами;
61 </listitem>
62
63 <listitem>
64 не работает буферизация;
65 </listitem>
66
67 <listitem>
68 файл открывается для каждой записи в лог и сразу же после записи закрывается.
69 Но дескрипторы часто используемых файлов могут храниться в
70 <link id="open_log_file_cache"/>.
71 При вращении логов нужно иметь в виду, что в течение времени, заданного
72 параметром valid директивы <link id="open_log_file_cache"/>,
73 запись может продолжаться в старый файл.
74 </listitem>
75
76 <listitem>
77 при каждой записи в лог проверяется существование каталога root'а для
78 запроса — если этот каталог не существует, то лог не создаётся.
79 Поэтому <link doc="ngx_http_core_module.xml#root">root</link>
80 и access_log нужно описывать на одном уровне:
81 <example>
82 server {
83 root /spool/vhost/data/$host;
84 access_log /spool/vhost/logs/$host;
85 ...
86 </example>
87 </listitem>
88
89 </list>
90 </para>
91
92 </directive>
93
94
95 <directive name="log_format">
96 <syntax>log_format <value>название строка [строка ...]</value>
97 </syntax>
98 <default>log_format combined "..." </default>
99 <context>http</context>
100
101 <para>
102 Директива log_format описывает формат лога.
103 </para>
104
105 <para>
106 Кроме общих переменных в формате можно использовать переменные,
107 существующие только на момент записи в лог:
108 <list type="bullet">
109
110 <listitem>
111 $body_bytes_sent, число байт, переданное клиенту за вычетом заголовка ответа,
112 переменная совместима с параметром %B модуля Apache mod_log_config;
113 </listitem>
114
115 <listitem>
116 $bytes_sent, число байт, переданное клиенту;
117 </listitem>
118
119 <listitem>
120 $connection, номер соединения;
121 </listitem>
122
123 <listitem>
124 $msec, время в секундах с точностью до миллисекунд на момент записи в лог;
125 </listitem>
126
127 <listitem>
128 $pipe, "p" если запрос был pipelined;
129 </listitem>
130
131 <listitem>
132 $request_length, длина тела запроса;
133 </listitem>
134
135 <listitem>
136 $request_time, время обработки запроса в секундах с точностью до миллисекунд;
137 </listitem>
138
139 <listitem>
140 $status, статус ответа;
141 </listitem>
142
143 <listitem>
144 $time_local, локальное время в common log format.
145 </listitem>
146
147 </list>
148 </para>
149
150 <para>
151 Строки заголовка, переданные клиенту, начинаются с префикса "sent_http_",
152 например, $sent_http_content_range.
153 </para>
154
155 <para>
156 В конфигурации всегда существует предопределённый формат "combined":
157 <example>
158 log_format combined '$remote_addr - $remote_user [$time_local] '
159 '"$request" $status $body_bytes_sent '
160 '"$http_referer" "$http_user_agent"';
161 </example>
162 </para>
163
164 </directive>
165
166 <directive name="open_log_file_cache">
167
168 <syntax>open_log_file_cache <value>max=N [inactive=время]|off</value>
169 </syntax>
170 <default>open_log_file_cache off</default>
171 <context>http, server, location</context>
172
173 <para>
174 Директива задаёт кэш, в котором хранятся дескрипторы файлов часто используемых
175 логов, имена которых заданы переменными.
176 </para>
177
178 <para>
179 Параметры директивы:
180 <list type="bullet">
181
182 <listitem>
183 max — задаёт маскимальное число дескрипторов в кэше;
184 при переполнении кэша наиболее давно не используемые дескрипторы закрываются
185 (LRU);
186 </listitem>
187
188 <listitem>
189 inactive — задаёт время, после которого дескриптор кэша закрывается,
190 если к нему не было обращений в течение этого времени;
191 по умолчанию 10 секунд;
192 </listitem>
193
194 <listitem>
195 min_uses — задаёт минимальное число использований файла в течение
196 времени, заданного параметром inactive в директиве
197 <link id="open_log_file_cache"/>, после которого дескриптор файла
198 будет оставаться окрытым в кэше;
199 по умолчанию 1 использование;
200 </listitem>
201
202 <listitem>
203 valid — задаёт, через какое время нужно проверять, что файл ещё
204 существует под тем же именем;
205 по умолчанию 60 секунд;
206 </listitem>
207
208 <listitem>
209 off — запрещает кэш.
210 </listitem>
211
212 </list>
213 </para>
214
215 <para>
216 Пример использования:
217 <example>
218 open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
219 </example>
220 </para>
221
222 </directive>
223
224 </section>
225
226 </module>