cookieをログに出力

nginxにおいて表題の通り。

■ 環境

  • nginx 1.12.2

■ $http_cookie

nginx.conf“の”http“コンテキスト内にある”log_format“を編集する。今回は下記のようにした。

log_format  post  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" cookie[$http_cookie]';

ログには下記のように出力されるようになった。

XXX.XXX.XXX.XXX - - [06/Apr/2018:19:04:21 +0900] "GET /example/path HTTP/1.1" 200 1346 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" cookie[key1=value1; key2=value2]

ちなみに`curl`でcookieを送って確認するには下記のようにした。

$ curl -b "key1=value1; key2=value2" http://XXX.XXX.XXX.XXX/

以上。