如何在 Apache 的 ErrorLogFormat 中添加 Cookie 值或 Session ID 值?

如何在 Apache 的 ErrorLogFormat 中添加 Cookie 值或 Session ID 值?

我想在 Apache 错误日志中添加“my_session”cookie 值。我添加了一个访问日志“LogFormat”,如下所示:

<IfModule mod_ssl.c>

    <VirtualHost *:443>

        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" [%{my_session}C : %{UNIQUE_ID}e]" detailed
        CustomLog ${APACHE_LOG_DIR}/ssl.www.example.com_access.log detailed

        ErrorLogFormat "[%t] [%l] [pid %P] [%{UNIQUE_ID}e] [client %a] %M"
        ErrorLog ${APACHE_LOG_DIR}/ssl.www.example.com_error.log

    </VirtualHost>

</IfModule>

但是当我在“ErrorLogFormat”中添加相同的格式时,会出现无法识别的错误日志格式指令 %C 的错误:

ErrorLogFormat "[%t] [%l] [pid %P] [%{my_session}C : %{UNIQUE_ID}e] [client %a] %M"

我使用“mod_unique_id”来获取唯一的请求 ID。

我的要求只是在 Apache 错误日志中添加 SessionId 值/Cookie 值。

答案1

因此,取决于你想要记录的 Cookie 是在请求​​中还是在响应中,你只需使用%{标题名称}i或者%{标题名称}o分别。

答案2

这是我现在正在使用的 httpd.conf 文件的摘录。

LogFormat "%r \"%{Cookie}i\"" combined

相关内容