JConsole のデバッグ出力方法

JConsole では、Java の Logger からデバッグ情報が出力されています。そのため、設定を行えばログ出力が可能になります。

ログ設定

以下に、ログ設定の例を示します。

handlers= java.util.logging.ConsoleHandler
.level=INFO

java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

javax.management.level=FINEST
javax.management.remote.level=FINER

起動オプション

JConsoleでは、-J オプション以降に jvm に渡す引数を指定できるので、ログ出力を行うためには、JConsole 起動時に、以下のようにログ設定ファイルを指定します。

jconsole -J-Djava.util.logging.config.file=<ログ設定ファイルのパス>

ログの例

すると、以下のようなログが、ログ用ウィンドウから表示されるようになります。

2008/05/03 16:00:58 DefaultMBeanServerInterceptor registerMBean
詳細レベル (中): ObjectName = JMImplementation:type=MBeanServerDelegate
2008/05/03 16:00:58 Repository addMBean
詳細レベル (中): name=JMImplementation:type=MBeanServerDelegate
2008/05/03 16:00:58 DefaultMBeanServerInterceptor addObject
詳細レベル (中): Send create notification of object JMImplementation:type=MBeanServerDelegate
2008/05/03 16:00:58 DefaultMBeanServerInterceptor sendNotification
詳細レベル (中): JMX.mbean.registered JMImplementation:type=MBeanServerDelegate
2008/05/03 16:00:58 StandardMBean getMBeanInfo
詳細レベル (中): Building MBeanInfo for sun.management.ClassLoadingImpl
2008/05/03 16:00:58 DefaultMBeanServerInterceptor registerMBean
詳細レベル (中): ObjectName = java.lang:type=ClassLoading
2008/05/03 16:00:58 Repository addMBean