Wildfly 8 似乎没有记录 -verbose:class 数据?
Posted
技术标签:
【中文标题】Wildfly 8 似乎没有记录 -verbose:class 数据?【英文标题】:Wildfly 8 doesn't seem to be logging -verbose:class data? 【发布时间】: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="%dyyyy-MM-dd HH:mm:ss,SSS %-5p [%c] (%t) %s%E%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%Klevel%dHH: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
发现了它。这看起来不像。
【参考方案1】:
它应该工作。在 Windows 上,编辑 standalone.conf.bat
并将 -verbose:class
添加到 JAVA_OPTS
(这仅将其输出到控制台,但一个简单的解决方法是将其重定向到文件)
【讨论】:
我不确定这是否是标准的 Wildfly 东西,但我实际上是通过 ant 脚本运行它。该 ant 脚本在一个新的后台线程上生成 wildfly,该线程抑制了所有控制台输出。在该 ant 脚本中将spawn="true"
更改为 spawn="false"
并最终输出到控制台。添加> \app\classlist.log
,我得到了我想要的。以上是关于Wildfly 8 似乎没有记录 -verbose:class 数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何配置 WildFly 8.2.0 日志记录以仅在调试级别显示应用程序
如何在Wildfly 8.2.0中的server.log文件中禁用日志记录应用程序日志
Wildfly 8.1 + EHCache + 注释不起作用