• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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 标头。

    上篇:mod_log_config

    下篇:mod_log_forensic