nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

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というパターンが使われます。以下の内容です。各要素のリファレンスはAccessLogValveJavaDocにあります。

%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