Apache의 ErrorLogFormat에 쿠키 값이나 세션 ID 값을 어떻게 추가할 수 있나요?

Apache의 ErrorLogFormat에 쿠키 값이나 세션 ID 값을 어떻게 추가할 수 있나요?

Apache 오류 로그에 'my_session' 쿠키 값을 추가하고 싶습니다. 아래와 같이 액세스 로그 '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"

고유한 요청 ID를 얻기 위해 'mod_unique_id'를 사용했습니다.

내 요구 사항은 Apache 오류 로그에 SessionId 값/쿠키 값을 추가하는 것뿐입니다.

답변1

따라서 기록하려는 쿠키가 요청 또는 응답 헤더에 있는지 여부에 따라 방금 사용합니다.%{header_name}i또는%{header_name}o각기.

답변2

이것은 제가 지금 사용하고 있는 httpd.conf 파일에서 발췌한 것입니다.

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

관련 정보