tl;dr
- dumpioモジュールを有効化し、InputとOutputを有効化
- 場合に依ってはOutputは要らないかも
LoadModule dumpio_module modules/mod_dumpio.so
DumpIOInput On
DumpIOOutput On
- LogLevelに
dumpio:trace7
を追加(重要!!)
LogLevel debug dumpio:trace7
検証環境
- さくらのクラウド
- CentOS7.2 テンプレート
- yumでインストールしたApache
[root@web01 httpd]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@web01 httpd]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 19 2015 21:43:13
経緯
今まではdumpio
モジュールを有効化した後、LogLevel
をdebugにしておくと、各モジュールのデバッグ情報も出力されておりましたが、仕様が変わったようです。
- 今までの記法
LogLevel debug
- これからの記法
LogLevel debug dumpio:trace7
通常のログメッセージがdebug
相当を必要としないなら、warn
などにしても問題無いです。
※問題無し!
LogLevel warn dumpio:trace7
ログ
こういうHTMLを用意
[root@web01 html]# cat -n index.html
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 </head>
6 <body>
7
8 <form method="POST">
9 <input type="text" name="name" >
10 <input type="email" name="email">
11 <textarea name="messeage" ></textarea>
12 <input type="submit" name="submit" value="Send Message">
13 </form>
14
15 </body>
16 </html>
手元から実行
whywaita% curl -X POST -F "name=hoge" -F "email=cat@example.com" -F "messe=test" http://example.com
エラーログにこういうログが出るようになります
[Sun Jan 31 11:46:25.379210 2016] [dumpio:trace7] [pid 3989] mod_dumpio.c(103): [client example.com:61852] mod_dumpio: dumpio_in (data-HEAP): --------------------------b0d1a574a83c2f55\r\nContent-Disposition: form-data; name="name"\r\n\r\nhoge\r\n--------------------------b0d1a574a83c2f55\r\nContent-Disposition: form-data; name="email"\r\n\r\ncat@example.com\r\n--------------------------b0d1a574a83c2f5
5\r\nContent-Disposition: form-data; name="messe"\r\n\r\ntest\r\n--------------------------b0d1a574a83c2f55--\r\n
ドキュメント
-
mod_dumpio - Apache 2.4 ドキュメント 英語版
- 英語版だけにこの情報書いてありました…
-
mod_dumpio - Apache 2.4 ドキュメント 日本語版
- このドキュメントには書いてないです…
結論
分からなくなったら翻訳ドキュメントを信じずに本家ドキュメント読もう