📄 mod_log_config.html.en
字号:
<dt>NCSA extended/combined log format</dt> <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""</code></dd> <dt>Referer log format</dt> <dd><code>"%{Referer}i -> %U"</code></dd> <dt>Agent (Browser) log format</dt> <dd><code>"%{User-agent}i"</code></dd> </dl> <p>Note that the canonical <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> and <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> of the server serving the request are used for <code>%v</code> and <code>%p</code> respectively. This happens regardless of the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> setting because otherwise log analysis programs would have to duplicate the entire vhost matching algorithm in order to decide what host really served the request.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="security" id="security">Security Considerations</a></h2> <p>See the <a href="../misc/security_tips.html#serverroot">security tips</a> document for details on why your security could be compromised if the directory where logfiles are stored is writable by anyone other than the user that starts the server.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Buffer log entries in memory before writing to disk</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BufferedLogs On|Off</code></td></tr><tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BufferedLogs Off</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr><tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in versions 2.0.41 and later.</td></tr></table> <p>The <code class="directive">BufferedLogs</code> directive causes <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> to store several log entries in memory and write them together to disk, rather than writing them after each request. On some systems, this may result in more efficient disk access and hence higher performance. It may be set only once for the entire server; it cannot be configured per virtual-host.</p> <div class="note">This directive is experimental and should be used with caution.</div></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CookieLog" id="CookieLog">CookieLog</a> <a name="cookielog" id="cookielog">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets filename for the logging of cookies</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieLog <var>filename</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr><tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>This directive is deprecated.</td></tr></table> <p>The <code class="directive">CookieLog</code> directive sets the filename for logging of cookies. The filename is relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. This directive is included only for compatibility with <code>mod_cookies</code>, and is deprecated.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CustomLog" id="CustomLog">CustomLog</a> <a name="customlog" id="customlog">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets filename and format of log file</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CustomLog <var>file</var>|<var>pipe</var><var>format</var>|<var>nickname</var>[env=[!]<var>environment-variable</var>]</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr></table> <p>The <code class="directive">CustomLog</code> directive is used to log requests to the server. A log format is specified, and the logging can optionally be made conditional on request characteristics using environment variables.</p> <p>The first argument, which specifies the location to which the logs will be written, can take one of the following two types of values:</p> <dl> <dt><var>file</var></dt> <dd>A filename, relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> <dt><var>pipe</var></dt> <dd>The pipe character "<code>|</code>", followed by the path to a program to receive the log information on its standard input. <div class="warning"><h3>Security:</h3> <p>If a program is used, then it will be run as the user who started <code class="program"><a href="../programs/httpd.html">httpd</a></code>. This will be root if the server was started by root; be sure that the program is secure.</p> </div> <div class="warning"><h3>Note</h3> <p>When entering a file path on non-Unix platforms, care should be taken to make sure that only forward slashed are used even though the platform may allow the use of back slashes. In general it is a good idea to always use forward slashes throughout the configuration files.</p> </div></dd> </dl> <p>The second argument specifies what will be written to the log file. It can specify either a <var>nickname</var> defined by a previous <code class="directive"><a href="#logformat">LogFormat</a></code> directive, or it can be an explicit <var>format</var> string as described in the <a href="#formats">log formats</a> section.</p> <p>For example, the following two sets of directives have exactly the same effect:</p> <div class="example"><p><code> # CustomLog with format nickname<br /> LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> CustomLog logs/access_log common<br /> <br /> # CustomLog with explicit format string<br /> CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" </code></p></div> <p>The third argument is optional and controls whether or not to log a particular request based on the presence or absence of a particular variable in the server environment. If the specified <a href="../env.html">environment variable</a> is set for the request (or is not set, in the case of a '<code>env=!<var>name</var></code>' clause), then the request will be logged.</p> <p>Environment variables can be set on a per-request basis using the <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> and/or <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modules. For example, if you want to record requests for all GIF images on your server in a separate logfile but not in your main log, you can use:</p> <div class="example"><p><code> SetEnvIf Request_URI \.gif$ gif-image<br /> CustomLog gif-requests.log common env=gif-image<br /> CustomLog nongif-requests.log common env=!gif-image </code></p></div> <p>Or, to reproduce the behavior of the old RefererIgnore directive, you might use the following:</p> <div class="example"><p><code> SetEnvIf Referer example\.com localreferer<br /> CustomLog referer.log referer env=!localreferer </code></p></div></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Describes a format for use in a log file</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogFormat <var>format</var>|<var>nickname</var>[<var>nickname</var>]</code></td></tr><tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr></table> <p>This directive specifies the format of the access log file.</p> <p>The <code class="directive">LogFormat</code> directive can take one of two forms. In the first form, where only one argument is specified, this directive sets the log format which will be used by logs specified in subsequent <code class="directive">TransferLog</code> directives. The single argument can specify an explicit <var>format</var> as discussed in the <a href="#formats">custom log formats</a> section above. Alternatively, it can use a <var>nickname</var> to refer to a log format defined in a previous <code class="directive">LogFormat</code> directive as described below.</p> <p>The second form of the <code class="directive">LogFormat</code> directive associates an explicit <var>format</var> with a <var>nickname</var>. This <var>nickname</var> can then be used in subsequent <code class="directive">LogFormat</code> or <code class="directive"><a href="#customlog">CustomLog</a></code> directives rather than repeating the entire format string. A <code class="directive">LogFormat</code> directive that defines a nickname <strong>does nothing else</strong> -- that is, it <em>only</em> defines the nickname, it doesn't actually apply the format and make it the default. Therefore, it will not affect subsequent <code class="directive"><a href="#transferlog">TransferLog</a></code> directives. In addition, <code class="directive">LogFormat</code> cannot use one nickname to define another nickname. Note that the nickname should not contain percent signs (<code>%</code>).</p> <div class="example"><h3>Example</h3><p><code> LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common </code></p></div></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="TransferLog" id="TransferLog">TransferLog</a> <a name="transferlog" id="transferlog">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify location of a log file</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TransferLog <var>file</var>|<var>pipe</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr></table> <p>This directive has exactly the same arguments and effect as the <code class="directive"><a href="#customlog">CustomLog</a></code> directive, with the exception that it does not allow the log format to be specified explicitly or for conditional logging of requests. Instead, the log format is determined by the most recently specified <code class="directive"><a href="#logformat">LogFormat</a></code> directive which does not define a nickname. Common Log Format is used if no other format has been specified.</p> <div class="example"><h3>Example</h3><p><code> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""<br /> TransferLog logs/access_log </code></p></div></div></div><div class="bottomlang"><p><span>Available Languages: </span><a href="../en/mod/mod_log_config.html" title="English"> en </a> |<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p></div><div id="footer"><p class="apache">Copyright 2007 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -