mod_log_debug
描述: | 额外的可配置调试 logging |
状态: | 试验 |
模块标识符: | log_debug_module |
源文件: | mod_log_debug.c |
兼容性: | 可在 Apache 2.3.14 及更高版本中使用 |
例子
- 处理/foo/*请求后 Log 消息:
<Location "/foo/"> LogMessage "/foo/ has been requested" </Location>
- 如果在 sub-request 中处理了对/foo/*的请求,则 Log 消息:
<Location "/foo/"> LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" </Location>
sub-requests 没有执行默认的 logtransaction hook,因此我们必须使用不同的 hook。
- 如果 IPv6 client 导致请求超时,则 Log 消息:
LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
请注意为expr=
参数放置 double 引号。
- 在请求的每个阶段中记录“X-Foo”请求环境变量的 value:
<Location "/"> LogMessage "%{reqenv:X-Foo}" hook=all </Location>
与错误 log 中的微秒 time 标记一起,hook=all
还允许您确定在请求处理的不同部分中花费的时间。
LogMessage 指令
描述: | Log user-defined message to error log |
句法: | LogMessage message[hook=hook][expr=expression] |
默认: | Unset |
Context: | 目录 |
状态: | 试验 |
模块: | mod_log_debug |
该指令导致用户定义的消息记录到错误 log。该消息可以使用ap_expr 语法中的变量和函数。 References to HTTP headers 不会导致标题名称添加到 Vary 标头。消息以 loglevel 信息记录。
hook 指定将在哪个阶段处理消息的消息。支持以下钩子:
名称 |
translate_name |
type_checker |
quick_handler |
map_to_storage |
check_access |
check_access_ex |
insert_filter |
check_authn |
check_authz |
fixups |
handler |
log_transaction |
默认值为log_transaction
。还支持特殊的 value all
,导致在每个阶段记录消息。并非所有钩子都针对每个请求执行。
可选表达式允许在满足条件时限制消息。表达式语法的详细信息在ap_expr 文件中描述。 References to HTTP headers 不会导致标题名称添加到 Vary 标头。