我们如何在JBoss 5.x中启用日志记录来调试类加载问题。如果它在JBOSS_HOME / server / xxxxx / conf下配置jboss-log4j.xml,我们是否需要添加任何代码或者是否有其他方法来启用跟踪。
答案 0 :(得分:7)
您可以在两个地方启用日志记录:
在JVM中 - 您应该只传递额外的开关-verbose:class
。您可以将这些开关放在run.conf
变量定义中的JAVA_OPTS
文件中。
启用jboss-log4j.xml
文件中的日志记录。您应该在文件中放置这样的定义:
<category name="org.jboss.classloader">
<priority value="DEBUG"/>
</category>
答案 1 :(得分:1)
它对我有用。我确实添加如下。
<appender name="CLASSLOADING" class="org.jboss.logging.appender.RollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value= "${jboss.server.log.dir}/classloading.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="5000KB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %m%n"/>
</layout>
</appender>
<category name="org.jboss.classloading">
<priority value="TRACE"/>
<appender-ref ref="CLASSLOADING"/>
</category>
答案 2 :(得分:0)
您还可以在命令提示符下启用日志,或使用IDE将其作为参数传递给JBoss服务器:
set "JAVA_OPTS=%JAVA_OPTS% -Xms2048m -Xmx4096m -XX:MaxPermSize=256m
-Dorg.jboss.resolver.warning=true -Dorg.apache.camel.jmx.disabled=true
-Djboss.server.log.threshold=DEBUG -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000"
这里我们也增加了内存,因为在文件/控制台中编写调试结果会增加内存消耗。有时,如果我们不增加内存,则会导致permGem
错误。