WebSphere Liberty Profile Verbose Class Logging - 它的输出在哪里?



我的程序收到一个错误,说找不到一个类。我已经检查了两次(和三次(,该类肯定在我的罐子里 - 它从同一个罐子里找到其他类就好了。

为了帮助调试它,我想打开详细的类加载日志记录,如下所述:http://java.dzone.com/articles/how-use-verbose-options-java

但是,如果您使用的是 WebSphere Liberty Profile,这并没有说明如何准确打开此选项,所以我环顾四周并发现了这个:http://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_admin_customvars.html

这说明我需要将行放在${server.config.dir}/jvm.options.

所以我写了一个简单的文件,它只包括:

-verbose:class

我将其保存到 wlp/usr/servers/defaultServer/jvm.options ,这意味着新文件与我的 apps 文件夹、logs 文件夹和我的server.xml位于同一目录中。

我停止了我的服务器并重新启动它并查看了logs目录。它生成了与往常相同的日志,没有新内容:console.logmessages.logstatus.logtrace.log 。我检查了所有这些日志文件,但没有一个像我的第一个链接的输出那样。

所以我认为我做得不好。以下是我认为我可能出错的三点:

  1. 我的文件太简单了吗?除了-verbose:class之外,我还需要投入更多的东西吗?这可能需要嵌套在某物中吗?我必须拥有更多参数吗?在此之前,我根本没有任何jvm.options文件,所以我假设它会对我不明确的任何内容使用默认值。

  2. 我是否将文件放在正确的位置?据我从文档中可以看出,我认为我把它放在了正确的位置,但文档没有我想要的那么明确。

  3. 我是否在正确的位置寻找日志?日志文件的名称是什么?它将放置在哪里?我假设它会像 WebSphere Liberty Profile 生成的所有其他日志一样在日志目录中,但也许我错了?

在为我的问题编写第三个项目符号时,我意识到console.log实际上是一个以前不存在的新文件,而且我实际上并没有检查其中的内容。我刚刚打开它,瞧,这正是我正在寻找的类加载日志。

所以回顾一下,以下是我要点的答案:

  1. 您可以拥有一个只包含-verbose:class的文件
  2. 将其保存到wlp/usr/servers/<server name>/jvm.options
  3. 输出以wlp/usr/servers/<server name>/logs/console.log为单位

最新更新