【发布时间】:2016-06-24 11:42:56
【问题描述】:
我正在尝试运行设置了 -verbose:class 标志的 Wildfly 8.1.0,但它似乎没有做任何事情。
在 server.log 的开头附近,它回显了它接收到的 JVM 参数是什么。这是那一行(我添加了换行符以方便阅读)。
2016-03-09 15:55:31,623 DEBUG [org.jboss.as.config] (MSC service thread 1-6) VM Arguments:
-Xms64m -Xmx512m -XX:MaxPermSize=256m
-verbose:class
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-Djava.net.preferIPv4Stack=true
-Dorg.jboss.resolver.warning=true
-Djboss.modules.system.pkgs=org.jboss.byteman
-Djboss.server.default.config=cls.xml
-Djboss.home.dir=C:/app/CMS/stdsw/wildfly-8.1.0.Final
-Dorg.jboss.boot.log.file=C:/app/CMS/modules/server/wildfly/cls/log/boot.log
-Dlogging.configuration=file:C:/app/CMS/modules/server/wildfly/cls/configuration/logging.properties
-Dcls.log.path=C:/app/CMS/modules/server/log
-Djboss.server.base.dir=C:/app/CMS/modules/server/wildfly/cls
-Djboss.log.dir=C:/app/CMS/modules/server/wildfly/cls/log
-Djboss.config.dir=C:/app/CMS/modules/server/wildfly/cls/configuration
-Djboss.server.data.dir=C:/app/CMS/modules/server/wildfly/cls/data
-Djboss.server.log.dir=C:/app/CMS/modules/server/wildfly/cls/log
-Djboss.server.temp.dir=C:/app/CMS/modules/server/wildfly/cls/tmp
-Djboss.server.deploy.dir=C:/app/CMS/modules/server/wildfly/cls/content
我的理解是,如上所述设置-verbose:class,我应该收到如下消息:
[Opened C:\JDK8\jre\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\JDK160~1\jre\lib\rt.jar]
插入我的server.log。他们不在那里。
这是我的日志子系统的内容:
<subsystem xmlns="urn:jboss:domain:logging:2.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="jacorb">
<level name="WARN"/>
</logger>
<logger category="jacorb.config">
<level name="ERROR"/>
</logger>
<logger category="com.empolis.ecls.server.j2ee.jca.impl">
<level name="DEBUG"/>
</logger>
<root-logger>
<level name="DEBUG"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</subsystem>
【问题讨论】:
-
你为什么期望这些消息应该出现在日志中?我想你应该在控制台输出中看到它们。我刚刚在控制台“set JAVA_OPTS=-verbose:class”然后“standalone.bat”中做了,我在控制台中看到了大量这样的消息。
-
您可能会在为
org.jboss.modules添加 TRACE 日志记录之后,因为它将是一个加载加载类的模块化类。 -
@JamesR.Perkins - 这会给我通往罐子的完整路径吗?
-
它没有给你 JAR,但我认为使用的模块会更有价值。从理论上讲,一个模块可能有来自另一个模块的重复 JAR。这是一个例子:
10:52:16,113 TRACE [org.jboss.modules] (DeploymentScanner-threads - 1) Attempting to define class org.jboss.as.controller.access.TargetResource in Module "org.jboss.as.controller:main" from local module loader @33e5ccce (finder: local module finder @5a42bbf4 (roots: /home/jperkins/servers/wildfly-10.0.0.Final/modules,/home/jperkins/servers/wildfly-10.0.0.Final/modules/system/layers/base)) -
@JamesR.Perkins - 我的问题是我有不同的类,它们具有相同的包和名称,它们是从不同的 jar 加载的。使用
-verbose:class发现了它。这看起来不像。
标签: java classloader wildfly wildfly-8