matching error log line to see what request caused what error.</td></tr>
<tr><td><code>%m</code></td>
<td>The request method.</td></tr>
-<tr class="odd"><td><code>%{<var>VARNAME</var>}n</code></td>
+<tr class="odd"><td><code>%M</code></td>
+ <td>The time taken to serve the request, in milliseconds.</td></tr>
+<tr><td><code>%{<var>VARNAME</var>}n</code></td>
<td>The contents of note <var>VARNAME</var> from another
module.</td></tr>
-<tr><td><code>%{<var>VARNAME</var>}o</code></td>
+<tr class="odd"><td><code>%{<var>VARNAME</var>}o</code></td>
<td>The contents of <code><var>VARNAME</var>:</code> header line(s)
in the reply.</td></tr>
-<tr class="odd"><td><code>%p</code></td>
+<tr><td><code>%p</code></td>
<td>The canonical port of the server serving the request.</td></tr>
-<tr><td><code>%{<var>format</var>}p</code></td>
+<tr class="odd"><td><code>%{<var>format</var>}p</code></td>
<td>The canonical port of the server serving the request, or the
server's actual port, or the client's actual port. Valid formats
are <code>canonical</code>, <code>local</code>, or <code>remote</code>.
</td></tr>
-<tr class="odd"><td><code>%P</code></td>
+<tr><td><code>%P</code></td>
<td>The process ID of the child that serviced the request.</td></tr>
-<tr><td><code>%{<var>format</var>}P</code></td>
+<tr class="odd"><td><code>%{<var>format</var>}P</code></td>
<td>The process ID or thread ID of the child that serviced the
request. Valid formats are <code>pid</code>, <code>tid</code>,
and <code>hextid</code>. <code>hextid</code> requires APR 1.2.0 or
higher.
</td></tr>
-<tr class="odd"><td><code>%q</code></td>
+<tr><td><code>%q</code></td>
<td>The query string (prepended with a <code>?</code> if a query
string exists, otherwise an empty string).</td></tr>
-<tr><td><code>%r</code></td>
+<tr class="odd"><td><code>%r</code></td>
<td>First line of request.</td></tr>
-<tr class="odd"><td><code>%R</code></td>
+<tr><td><code>%R</code></td>
<td>The handler generating the response (if any).</td></tr>
-<tr><td><code>%s</code></td>
+<tr class="odd"><td><code>%s</code></td>
<td>Status. For requests that have been internally redirected, this is
the status of the <em>original</em> request. Use <code>%>s</code>
for the final status.</td></tr>
-<tr class="odd"><td><code>%t</code></td>
+<tr><td><code>%t</code></td>
<td>Time the request was received, in the format <code>[18/Sep/2011:19:18:28 -0400]</code>.
The last number indicates the timezone offset from GMT</td></tr>
-<tr><td><code>%{<var>format</var>}t</code></td>
+<tr class="odd"><td><code>%{<var>format</var>}t</code></td>
<td>The time, in the form given by format, which should be in
an extended <code>strftime(3)</code> format (potentially localized).
If the format starts with <code>begin:</code> (default) the time is taken
formatting in the same format string. You can use multiple
<code>%{<var>format</var>}t</code> tokens instead.
</td></tr>
-<tr class="odd"><td><code>%T</code></td>
+<tr><td><code>%T</code></td>
<td>The time taken to serve the request, in seconds.</td></tr>
-<tr><td><code>%u</code></td>
+<tr class="odd"><td><code>%u</code></td>
<td>Remote user if the request was authenticated. May be bogus if return status
(<code>%s</code>) is 401 (unauthorized).</td></tr>
-<tr class="odd"><td><code>%U</code></td>
+<tr><td><code>%U</code></td>
<td>The URL path requested, not including any query string.</td></tr>
-<tr><td><code>%v</code></td>
+<tr class="odd"><td><code>%v</code></td>
<td>The canonical <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
of the server serving the request.</td></tr>
-<tr class="odd"><td><code>%V</code></td>
+<tr><td><code>%V</code></td>
<td>The server name according to the <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> setting.</td></tr>
-<tr><td><code>%X</code></td>
+<tr class="odd"><td><code>%X</code></td>
<td>Connection status when response is completed:
<table>
</table>
</td></tr>
-<tr class="odd"><td><code>%I</code></td>
+<tr><td><code>%I</code></td>
<td>Bytes received, including request and headers. Cannot be zero.
You need to enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr>
-<tr><td><code>%O</code></td>
+<tr class="odd"><td><code>%O</code></td>
<td>Bytes sent, including headers. May be zero in rare cases
such as when a request is aborted before a response is sent.
You need to enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr>
-<tr class="odd"><td><code>%S</code></td>
+<tr><td><code>%S</code></td>
<td>Bytes transferred (received and sent), including request and headers,
cannot be zero. This is the combination of %I and %O. You need to
enable <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> to use this.</td></tr>
-<tr><td><code>%{<var>VARNAME</var>}^ti</code></td>
+<tr class="odd"><td><code>%{<var>VARNAME</var>}^ti</code></td>
<td>The contents of <code><var>VARNAME</var>:</code> trailer line(s)
in the request sent to the server. </td></tr>
-<tr class="odd"><td><code>%{<var>VARNAME</var>}^to</code></td>
+<tr><td><code>%{<var>VARNAME</var>}^to</code></td>
<td>The contents of <code><var>VARNAME</var>:</code> trailer line(s)
in the response sent from the server. </td></tr>
</table>