Search code examples
javajconsole

jconsole redirect output log to file


How can I save jconsole output in log file ?

I tried adding logging.properties but it has been ignored:

jconsole.exe -Jjava.util.logging.config.file=logging.properties -debug

Or

jconsole.exe -Djava.util.logging.config.file=logging.properties -debug

Currently I'm getting Jconsole Output window with minimum logs as:

java.lang.SecurityException: Expecting a javax.rmi.ssl.SslRMIClientSocketFactory RMI client socket factory in stub!
    at javax.management.remote.rmi.RMIConnector.checkStub(RMIConnector.java:1875)
    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:295)
    at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
    at sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:357)
    at sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:313)
    at sun.tools.jconsole.VMPanel$2.run(VMPanel.java:294)
sorting table against column=0 ascending=true
sorting table against column=0 ascending=true
sorting table against column=0 ascending=true

I have also option to suppress, but I don't want it

Use '--console suppress' to suppress console output.


Solution

  • To start jvisualvm and log into a file you might create a logging.properties file

    .level= FINER
    handlers= java.util.logging.FileHandler
    java.util.logging.FileHandler.pattern = jvisualvm.log
    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
    

    and start jvisualvm as

        jvisualvm -J-Djava.util.logging.config.file=logging.properties