简体   繁体   中英

WebSphere Liberty Profile Verbose Class Logging - where is it's output?

I'm getting an error in my program about a class not being found. I have double (and triple) checked and the class is definitely in my jar - it's finding other classes from the same jar just fine.

To help with debugging this, I want to turn on verbose class loading logging as described here: http://java.dzone.com/articles/how-use-verbose-options-java

That doesn't say how exactly to turn on this option if you're using WebSphere Liberty Profile, though, so I looked around some more and found this: http://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_admin_customvars.html

This says that I need to place the line in ${server.config.dir}/jvm.options .

So I wrote a simple file which consists only of:

-verbose:class

And I saved that to wlp/usr/servers/defaultServer/jvm.options , which means the new file is in the same directory as my apps folder, my logs folder, and my server.xml .

I stopped my server and started it back up and looked in the logs directory. It generated the same logs as always, nothing new: console.log , messages.log , status.log , and trace.log . I checked all of these log files and none of them have anything like the output from my first link.

So I don't think I'm doing this properly. Here are the three points where I think I may have gone wrong:

  1. Was my file too simple? Is there more that I need to put in it than just -verbose:class ? Does that perhaps need to be nested in something? Are there more parameters that I must have? Prior to this I didn't have any jvm.options file at all, so I assume that it'll use default values for anything I'm not explicit about.

  2. Did I put the file in the proper place? As far as I can tell from the documentation, I think I put it in the proper spot, but the docs are a bit less explicit than I would like.

  3. Am I looking in the right place for the logs? What will the name of the log file be? Where will it be placed? I assumed it would be in the logs directory just like all of the other logs generated by WebSphere Liberty Profile, but maybe I'm incorrect?

While writing the third bullet for my question, I realized that console.log was actually a new file that didn't previously exist, and I hadn't actually checked what was in it. I just opened it up and lo and behold, it's exactly the class loading logs that I was looking for.

So to recap, here are the answers to my bullets:

  1. You can have a file with nothing but -verbose:class
  2. You save it to wlp/usr/servers/<server name>/jvm.options
  3. The output is in wlp/usr/servers/<server name>/logs/console.log

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM