JBoss AS7でアクセスログを有効化する
JBoss Advent Calendar 2012の17日目のエントリ。良い子のみなさんはアクセスログは必ず取っていることと思いますが、AS7では出荷時デフォルトで無効になっています。僕はデフォルト有効でもいいと思ってるのだけど。
CLI直接コマンド叩いてもいいんですが、少々長いのでファイルにしましょう。access-log.cliというファイルを以下の内容で作成します。
/subsystem=web/virtual-server=default-host/access-log=configuration:add /subsystem=web/virtual-server=default-host/access-log=configuration:write-attribute(name="pattern",value="%h %l %u %t \\"%r\\" %s %b %S %T") :reload
実行。
$ ./jboss-cli.sh -c --file=access-log.cli
2行目でpatternを変更していますが、この行を実行しなかった場合はデフォルトのcommonというパターンが使われます。以下の内容です。各要素のリファレンスはAccessLogValveのJavaDocにあります。
%h %l %u %t "%r" %s %b
上のpatternではcommonをベースに、セッションIDと処理時間を追加で出力するようにしています。以下のような出力になります。
127.0.0.1 - - [19/Dec/2012:14:57:03 +0900] "GET /test/ HTTP/1.1" 200 4 2UPYh0m85LTTUEi9ZjQnO41E 0.001