annotate xml/en/docs/http/ngx_http_log_module.xml @ 1694:080b36ad8d76

Reduced syntax clutter in the access_log directive. Only two syntax variants were preserved: - one with a generic syntax, which shows all possible parameters (and also clearly demonstrates that format must be specified if any additional parameters are used); - one with "off", to emphasize it.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 04 May 2016 17:35:30 +0300
parents 4e89518a5999
children 33f742032155
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 452
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 452
diff changeset
4 Copyright (C) Igor Sysoev
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 452
diff changeset
5 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 452
diff changeset
6 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 452
diff changeset
7
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
9
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
10 <module name="Module ngx_http_log_module"
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11 link="/en/docs/http/ngx_http_log_module.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
12 lang="en"
1694
080b36ad8d76 Reduced syntax clutter in the access_log directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1285
diff changeset
13 rev="15">
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
14
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15 <section id="summary">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
17 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
18 The <literal>ngx_http_log_module</literal> module writes request logs
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
19 in the specified format.
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
20 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
21
430
570b312367bd Documented the context of request logging.
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
22 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
23 Requests are logged in the context of a location where processing ends.
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
24 It may be different from the original location, if an
430
570b312367bd Documented the context of request logging.
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
25 <link doc="ngx_http_core_module.xml" id="internal">internal
570b312367bd Documented the context of request logging.
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
26 redirect</link> happens during request processing.
570b312367bd Documented the context of request logging.
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
27 </para>
570b312367bd Documented the context of request logging.
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
28
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
29 </section>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
30
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
31
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
32 <section id="example" name="Example Configuration">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
33
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
34 <para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
35 <example>
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
36 log_format compression '$remote_addr - $remote_user [$time_local] '
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
37 '"$request" $status $bytes_sent '
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
38 '"$http_referer" "$http_user_agent" "$gzip_ratio"';
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
39
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
40 access_log /spool/logs/nginx-access.log compression buffer=32k;
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
41 </example>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
42 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
43
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
44 </section>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
45
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
46
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
47 <section id="directives" name="Directives">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
48
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
49 <directive name="access_log">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
50 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
51 <value>path</value>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
52 [<value>format</value>
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
53 [<literal>buffer</literal>=<value>size</value>]
1694
080b36ad8d76 Reduced syntax clutter in the access_log directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1285
diff changeset
54 [<literal>gzip[=<value>level</value>]</literal>]
1168
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
55 [<literal>flush</literal>=<value>time</value>]
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
56 [<literal>if</literal>=<value>condition</value>]]</syntax>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
57 <syntax><literal>off</literal></syntax>
443
1b2264bdd433 Fixed default for the access_log directive.
Ruslan Ermilov <ru@nginx.com>
parents: 430
diff changeset
58 <default>logs/access.log combined</default>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
59 <context>http</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
60 <context>server</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
61 <context>location</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
62 <context>if in location</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
63 <context>limit_except</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
64
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
65 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
66 Sets the path, format, and configuration for a buffered log write.
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
67 Several logs can be specified on the same level.
1285
4e89518a5999 Moved syslog configuration details into the separate documents.
Ruslan Ermilov <ru@nginx.com>
parents: 1205
diff changeset
68 Logging to <link doc="../syslog.xml">syslog</link>
4e89518a5999 Moved syslog configuration details into the separate documents.
Ruslan Ermilov <ru@nginx.com>
parents: 1205
diff changeset
69 can be configured by specifying
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 939
diff changeset
70 the “<literal>syslog:</literal>” prefix in the first parameter.
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
71 The special value <literal>off</literal> cancels all
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
72 <literal>access_log</literal> directives on the current level.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
73 If the format is not specified then the predefined
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
74 “<literal>combined</literal>” format is used.
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 <para>
840
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
78 If either the <literal>buffer</literal> or <literal>gzip</literal>
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
79 (1.3.10, 1.2.7)
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
80 parameter is used, writes to log will be buffered.
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
81 <note>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
82 The buffer size must not exceed the size of an atomic write to a disk file.
657
56fa3cab4ceb Completely dropped FreeBSD version information when talking about
Ruslan Ermilov <ru@nginx.com>
parents: 656
diff changeset
83 For FreeBSD this size is unlimited.
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
84 </note>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
85 </para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
86
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
87 <para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
88 When buffering is enabled, the data will be written to the file:
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
89 <list type="bullet">
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
90
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
91 <listitem>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
92 if the next log line does not fit into the buffer;
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
93 </listitem>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
94
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
95 <listitem>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
96 if the buffered data is older than specified by the <literal>flush</literal>
840
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
97 parameter (1.3.10, 1.2.7);
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
98 </listitem>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
99
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
100 <listitem>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
101 when a worker process is <link doc="../control.xml">re-opening</link> log
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
102 files or is shutting down.
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
103 </listitem>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
104
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
105 </list>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
106 </para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
107
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
108 <para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
109 If the <literal>gzip</literal> parameter is used, then the buffered data will
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
110 be compressed before writing to the file.
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
111 The compression level can be set between 1 (fastest, less compression)
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
112 and 9 (slowest, best compression).
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
113 By default, the buffer size is equal to 64K bytes, and the compression level
795
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
114 is set to 1.
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
115 Since the data is compressed in atomic blocks, the log file can be decompressed
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
116 or read by “<literal>zcat</literal>” at any time.
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
117 </para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
118
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
119 <para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
120 Example:
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
121 <example>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
122 access_log /path/to/log.gz combined gzip flush=5m;
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
123 </example>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
124 </para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
125
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
126 <para>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
127 <note>
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
128 For gzip compression to work, nginx must be built with the zlib library.
41363f013cc9 Documented the recently added "gzip" and "flush" parameters of the "access_log"
Valentin Bartenev <vbart@nginx.com>
parents: 779
diff changeset
129 </note>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
130 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
131
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
132 <para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
133 The file path can contain variables (0.7.6+),
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
134 but such logs have some constraints:
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
135 <list type="bullet">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
136
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
137 <listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
138 the <link doc="../ngx_core_module.xml" id="user"/>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
139 whose credentials are used by worker processes should
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
140 have permissions to create files in a directory with
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
141 such logs;
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
142 </listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
143
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
144 <listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
145 buffered writes do not work;
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
146 </listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
147
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
148 <listitem>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
149 the file is opened and closed for each log write.
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
150 However, since the descriptors of frequently used files can be stored
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
151 in a <link id="open_log_file_cache">cache</link>, writing to the old file
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
152 can continue during the time specified by the <link id="open_log_file_cache"/>
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
153 directive’s <literal>valid</literal> parameter
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
154 </listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
155
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
156 <listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
157 during each log write the existence of the request’s
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
158 <link doc="ngx_http_core_module.xml" id="root">root directory</link>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
159 is checked, and if it does not exist the log is not
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
160 created.
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
161 It is thus a good idea to specify both
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
162 <link doc="ngx_http_core_module.xml" id="root"/>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
163 and <literal>access_log</literal> on the same level:
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
164 <example>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
165 server {
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
166 root /spool/vhost/data/$host;
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
167 access_log /spool/vhost/logs/$host;
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
168 ...
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
169 </example>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
170 </listitem>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
171
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
172 </list>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
173 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
174
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 939
diff changeset
175 <para>
1168
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
176 The <literal>if</literal> parameter (1.7.0) enables conditional logging.
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
177 A request will not be logged if the <value>condition</value> evaluates to “0”
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
178 or an empty string.
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
179 In the following example, the requests with response codes 2xx and 3xx
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
180 will not be logged:
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
181 <example>
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
182 map $status $loggable {
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
183 ~^[23] 0;
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
184 default 1;
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
185 }
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
186
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
187 access_log /path/to/access.log combined if=$loggable;
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
188 </example>
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
189 </para>
384bb0349a8a Documented the "if" parameter of the "access_log" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
190
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
191 </directive>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
192
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
193
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
194 <directive name="log_format">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
195 <syntax>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
196 <value>name</value>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
197 <value>string</value> ...</syntax>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
198 <default>combined "..."</default>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
199 <context>http</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
200
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
201 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
202 Specifies log format.
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
203 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
204
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
205 <para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
206 The log format can contain common variables, and variables that
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
207 exist only at the time of a log write:
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
208 <list type="tag">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
209
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
210 <tag-name id="var_bytes_sent"><var>$bytes_sent</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
211 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
212 the number of bytes sent to a client
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
213 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
214
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
215 <tag-name id="var_connection"><var>$connection</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
216 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
217 connection serial number
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
218 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
219
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
220 <tag-name id="var_connection_requests"><var>$connection_requests</var>
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
221 </tag-name>
452
e9a2a856d76b Documented the $connection_requests variable.
Ruslan Ermilov <ru@nginx.com>
parents: 451
diff changeset
222 <tag-desc>
769
d71e56d56ada Documented variables relocations between http log and core modules.
Vladimir Homutov <vl@nginx.com>
parents: 657
diff changeset
223 the current number of requests made through a connection (1.1.18)
452
e9a2a856d76b Documented the $connection_requests variable.
Ruslan Ermilov <ru@nginx.com>
parents: 451
diff changeset
224 </tag-desc>
e9a2a856d76b Documented the $connection_requests variable.
Ruslan Ermilov <ru@nginx.com>
parents: 451
diff changeset
225
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
226 <tag-name id="var_msec"><var>$msec</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
227 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
228 time in seconds with a milliseconds resolution at the time of the log write
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
229 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
230
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
231 <tag-name id="var_pipe"><var>$pipe</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
232 <tag-desc>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
233 “<literal>p</literal>” if request was pipelined, “<literal>.</literal>”
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
234 otherwise
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
235 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
236
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
237 <tag-name id="var_request_length"><var>$request_length</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
238 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
239 request length (including request line, header, and request body)
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
240 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
241
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
242 <tag-name id="var_request_time"><var>$request_time</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
243 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
244 request processing time in seconds with a milliseconds resolution;
451
6351ab788157 Documented $request_time more precisely.
Ruslan Ermilov <ru@nginx.com>
parents: 443
diff changeset
245 time elapsed between the first bytes were read from the client and
6351ab788157 Documented $request_time more precisely.
Ruslan Ermilov <ru@nginx.com>
parents: 443
diff changeset
246 the log write after the last bytes were sent to the client
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
247 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
248
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
249 <tag-name id="var_status"><var>$status</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
250 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
251 response status
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
252 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
253
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
254 <tag-name id="var_time_iso8601"><var>$time_iso8601</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
255 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
256 local time in the ISO 8601 standard format
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
257 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
258
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
259 <tag-name id="var_time_local"><var>$time_local</var></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
260 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
261 local time in the Common Log Format
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
262 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
263
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
264 </list>
826
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
265
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
266 <note>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
267 In the modern nginx versions variables
826
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
268 <link doc="ngx_http_core_module.xml" id="var_status">$status</link>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
269 (1.3.2, 1.2.2),
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
270 <link doc="ngx_http_core_module.xml" id="var_bytes_sent">$bytes_sent</link>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
271 (1.3.8, 1.2.5),
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
272 <link doc="ngx_http_core_module.xml" id="var_connection">$connection</link>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
273 (1.3.8, 1.2.5),
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
274 <link doc="ngx_http_core_module.xml" id="var_connection_requests">$connection_requests</link>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
275 (1.3.8, 1.2.5),
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
276 <link doc="ngx_http_core_module.xml" id="var_msec">$msec</link>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
277 (1.3.9, 1.2.6),
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
278 <link doc="ngx_http_core_module.xml" id="var_request_time">$request_time</link>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
279 (1.3.9, 1.2.6),
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
280 <link doc="ngx_http_core_module.xml" id="var_pipe">$pipe</link>
840
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
281 (1.3.12, 1.2.7),
826
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
282 <link doc="ngx_http_core_module.xml" id="var_request_length">$request_length</link>
840
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
283 (1.3.12, 1.2.7),
826
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
284 <link doc="ngx_http_core_module.xml" id="var_time_iso8601">$time_iso8601</link>
840
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
285 (1.3.12, 1.2.7),
826
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
286 and
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
287 <link doc="ngx_http_core_module.xml" id="var_time_local">$time_local</link>
840
9dab69f2b71d Documented nginx 1.2.7 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 826
diff changeset
288 (1.3.12, 1.2.7)
826
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
289 are also available as common variables.
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
290 </note>
ddd22f571529 Variables $pipe, $request_length, $time_iso8601, and $time_local.
Ruslan Ermilov <ru@nginx.com>
parents: 795
diff changeset
291
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
292 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
293
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
294 <para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
295 Header lines sent to a client have the prefix
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
296 “<literal>sent_http_</literal>”, for example,
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
297 <var>$sent_http_content_range</var>.
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
298 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
299
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
300 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
301 The configuration always includes the predefined
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
302 “<literal>combined</literal>” format:
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
303 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
304 log_format combined '$remote_addr - $remote_user [$time_local] '
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
305 '"$request" $status $body_bytes_sent '
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
306 '"$http_referer" "$http_user_agent"';
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
307 </example>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
308 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
309
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
310 </directive>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
311
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
312
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
313 <directive name="open_log_file_cache">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
314
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
315 <syntax>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
316 <literal>max</literal>=<value>N</value>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
317 [<literal>inactive</literal>=<value>time</value>]
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
318 [<literal>min_uses</literal>=<value>N</value>]
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
319 [<literal>valid</literal>=<value>time</value>]</syntax>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
320 <syntax><literal>off</literal></syntax>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
321 <default>off</default>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
322 <context>http</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
323 <context>server</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
324 <context>location</context>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
325
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
326 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
327 Defines a cache that stores the file descriptors of frequently used logs
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
328 whose names contain variables.
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
329 The directive has the following parameters:
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
330 <list type="tag">
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
331
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
332 <tag-name><literal>max</literal></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
333 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
334 sets the maximum number of descriptors in a cache;
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
335 if the cache becomes full the least recently used (LRU)
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
336 descriptors are closed
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
337 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
338
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
339 <tag-name><literal>inactive</literal></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
340 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
341 sets the time after which the cached descriptor is closed
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
342 if there were no access during this time;
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
343 by default, 10 seconds
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
344 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
345
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
346 <tag-name><literal>min_uses</literal></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
347 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
348 sets the minimum number of file uses during the time
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
349 defined by the <literal>inactive</literal> parameter
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
350 to let the descriptor stay open in a cache;
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
351 by default, 1
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
352 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
353
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
354 <tag-name><literal>valid</literal></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
355 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
356 sets the time after which it should be checked that the file
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
357 still exists with the same name; by default, 60 seconds
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
358 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
359
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
360 <tag-name><literal>off</literal></tag-name>
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
361 <tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
362 disables caching
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
363 </tag-desc>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
364
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
365 </list>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
366 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
367
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
368 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
369 Usage example:
224
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
370 <example>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
371 open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
372 </example>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
373 </para>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
374
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
375 </directive>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
376
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
377 </section>
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
378
7f36795d99a2 Updated ngx_http_log_module documentation including translation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
379 </module>