mirror of
				https://github.com/apache/httpd.git
				synced 2025-11-03 17:53:20 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1723522 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			134 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0"?>
 | 
						|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 | 
						|
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
 | 
						|
<!-- $LastChangedRevision$ -->
 | 
						|
 | 
						|
<!--
 | 
						|
 Licensed to the Apache Software Foundation (ASF) under one or more
 | 
						|
 contributor license agreements.  See the NOTICE file distributed with
 | 
						|
 this work for additional information regarding copyright ownership.
 | 
						|
 The ASF licenses this file to You under the Apache License, Version 2.0
 | 
						|
 (the "License"); you may not use this file except in compliance with
 | 
						|
 the License.  You may obtain a copy of the License at
 | 
						|
 | 
						|
     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
 Unless required by applicable law or agreed to in writing, software
 | 
						|
 distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 See the License for the specific language governing permissions and
 | 
						|
 limitations under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<modulesynopsis metafile="mod_log_debug.xml.meta">
 | 
						|
 | 
						|
<name>mod_log_debug</name>
 | 
						|
<description>Additional configurable debug logging</description>
 | 
						|
<status>Experimental</status>
 | 
						|
<sourcefile>mod_log_debug.c</sourcefile>
 | 
						|
<identifier>log_debug_module</identifier>
 | 
						|
<compatibility>Available in Apache 2.3.14 and later</compatibility>
 | 
						|
 | 
						|
<section id="examples"><title>Examples</title>
 | 
						|
 | 
						|
    <ol>
 | 
						|
      <li>
 | 
						|
        Log message after request to /foo/* is processed:
 | 
						|
 | 
						|
        <highlight language="config">
 | 
						|
<Location "/foo/">
 | 
						|
  LogMessage "/foo/ has been requested"
 | 
						|
</Location>
 | 
						|
        </highlight>
 | 
						|
      </li>
 | 
						|
 | 
						|
      <li>
 | 
						|
        Log message if request to /foo/* is processed in a sub-request:
 | 
						|
        <highlight language="config">
 | 
						|
<Location "/foo/">
 | 
						|
  LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
 | 
						|
</Location>
 | 
						|
        </highlight>
 | 
						|
 | 
						|
        The default log_transaction hook is not executed for sub-requests,
 | 
						|
        therefore we have to use a different hook.
 | 
						|
      </li>
 | 
						|
 | 
						|
 | 
						|
      <li>
 | 
						|
        Log message if an IPv6 client causes a request timeout:
 | 
						|
        <highlight language="config">
 | 
						|
            LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
 | 
						|
        </highlight>
 | 
						|
        Note the placing of the double quotes for the <code>expr=</code> argument.
 | 
						|
      </li>
 | 
						|
 | 
						|
      <li>
 | 
						|
        Log the value of the "X-Foo" request environment variable in each
 | 
						|
        stage of the request:
 | 
						|
        <highlight language="config">
 | 
						|
<Location "/">
 | 
						|
  LogMessage "%{reqenv:X-Foo}" hook=all
 | 
						|
</Location>
 | 
						|
        </highlight>
 | 
						|
        Together with microsecond time stamps in the error log,
 | 
						|
        <code>hook=all</code> also lets you determine the times spent
 | 
						|
        in the different parts of the request processing.
 | 
						|
      </li>
 | 
						|
 | 
						|
    </ol>
 | 
						|
</section>
 | 
						|
 | 
						|
<directivesynopsis>
 | 
						|
<name>LogMessage</name>
 | 
						|
<description>Log user-defined message to error log
 | 
						|
</description>
 | 
						|
<syntax>LogMessage <var>message</var>
 | 
						|
[hook=<var>hook</var>] [expr=<var>expression</var>]
 | 
						|
</syntax>
 | 
						|
<default>Unset</default>
 | 
						|
<contextlist><context>directory</context>
 | 
						|
</contextlist>
 | 
						|
 | 
						|
<usage>
 | 
						|
    <p>This directive causes a user defined message to be logged to the
 | 
						|
    error log. The message can use variables and functions from the
 | 
						|
    <a href="../expr.html">ap_expr syntax</a>. References to HTTP headers
 | 
						|
    will not cause header names to be added to the Vary header. The
 | 
						|
    messages are logged at loglevel info.</p>
 | 
						|
 | 
						|
    <p>The hook specifies before which phase of request processing the message
 | 
						|
    will be logged. The following hooks are supported:</p>
 | 
						|
 | 
						|
    <table border="1" style="zebra">
 | 
						|
    <columnspec><column width="1"/></columnspec>
 | 
						|
    <tr><th>Name</th></tr>
 | 
						|
    <tr><td><code>translate_name</code></td></tr>
 | 
						|
    <tr><td><code>type_checker</code></td></tr>
 | 
						|
    <tr><td><code>quick_handler</code></td></tr>
 | 
						|
    <tr><td><code>map_to_storage</code></td></tr>
 | 
						|
    <tr><td><code>check_access</code></td></tr>
 | 
						|
    <tr><td><code>check_access_ex</code></td></tr>
 | 
						|
    <tr><td><code>insert_filter</code></td></tr>
 | 
						|
    <tr><td><code>check_authn</code></td></tr>
 | 
						|
    <tr><td><code>check_authz</code></td></tr>
 | 
						|
    <tr><td><code>fixups</code></td></tr>
 | 
						|
    <tr><td><code>handler</code></td></tr>
 | 
						|
    <tr><td><code>log_transaction</code></td></tr>
 | 
						|
    </table>
 | 
						|
 | 
						|
    <p>The default is <code>log_transaction</code>. The special value
 | 
						|
    <code>all</code> is also supported, causing a message to be logged at each
 | 
						|
    phase. Not all hooks are executed for every request.</p>
 | 
						|
 | 
						|
    <p>The optional expression allows to restrict the message if a
 | 
						|
    condition is met. The details of the expression syntax are described in
 | 
						|
    the <a href="../expr.html">ap_expr documentation</a>. References to HTTP
 | 
						|
    headers will not cause the header names to be added to the Vary header.</p>
 | 
						|
 | 
						|
</usage>
 | 
						|
 | 
						|
</directivesynopsis>
 | 
						|
 | 
						|
</modulesynopsis>
 |