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 标头。
