How can I log information about cookies?

There are three ways to get cookies into Apache logs:

%{cookiename}C
This will match the named cookie sent in the request by the browser but not any other cookies.

%{Cookie}i
This will log the entire Cookie: header sent to the server in the request. This can be quite extensive if many cookies are set or if any of the cookies have a lot of data.

%{Set-Cookie}o
This will match the entire Set-Cookie: header sent by the server in the response.

Note that "cookiename" should be replaced with the name of the cookie you want to log whereas the other two methods should be placed in your CustomLog directive exactly as written. These two are matching headers in the request and the response respectively. They can be used to match any header, not just the cookie headers.


try this in your vhost configuration:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" with_cookies
CustomLog /var/log/apache2/my-access.log with_cookies

worked for me ; output in my-access.log:

83.0.11.22 - - [02/Aug/2009:12:31:30 +0200] "GET /ct/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1" "c1=1; c2=2; PHPSESSID=6c4513f22852a235b8988da822f89d04"