概要
web アプリケーションの負荷試験などを行う際、tomcat のセッションの入出力状態をモニターしたくなることがある。
また、Hibernate + Seasar + Wicket でアプリケーション構築時、セッションのデシリアライズがうまくいかないことがあり、tomcat の PersistentManager や StandardSession の動作を追っていくことで問題を発見、修正できることがある。
Linux で tomcat 動作時のデバッグ手順
logging.properties を次のように修正する。
handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
1catalina.org.apache.juli.FileHandler.level = FINEST
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
#org.apache.catalina.level = INFO
org.apache.catalina.level = FINEST
org.apache.catalina.connector.level = INFO
org.apache.catalina.loader.level = INFO
org.apache.catalina.startup.level = INFO
org.apache.catalina.mbeans.level = INFO
これで、catalina.out に詳細なログが出力される。
Eclipse + WTP + tomcat 環境でのデバッグ方法
Eclipse 上で次の操作を行う。
次に、c:\usr\apache-tomcat-6.0.16\conf\my.logging.properties ファイルを作成する。
handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
1catalina.org.apache.juli.FileHandler.level = FINEST
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
#org.apache.catalina.level = INFO
org.apache.catalina.level = FINEST
org.apache.catalina.connector.level = INFO
org.apache.catalina.loader.level = INFO
org.apache.catalina.startup.level = INFO
org.apache.catalina.mbeans.level = INFO
これで tomcat 起動時、catalina.out に詳細なログが出力されるようになる。
ちなみに、catalina.out の場所は workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\logs となる(Eclipse 3.3.2 Preiades All in One の場合)。