【发布时间】:2011-07-14 07:45:38
【问题描述】:
我们如何启用日志记录以调试 JBoss 5.x 中的类加载问题。如果是在JBOSS_HOME/server/xxxxx/conf下配置jboss-log4j.xml,是不是需要添加一段代码,或者有没有其他方法可以开启trace。
【问题讨论】:
标签: class logging loading jboss5.x
我们如何启用日志记录以调试 JBoss 5.x 中的类加载问题。如果是在JBOSS_HOME/server/xxxxx/conf下配置jboss-log4j.xml,是不是需要添加一段代码,或者有没有其他方法可以开启trace。
【问题讨论】:
标签: class logging loading jboss5.x
您可以在两个地方开启登录:
在 JVM 中 - 你应该只传递额外的开关 -verbose:class。您可以将这些开关放在您的run.conf 文件中的JAVA_OPTS 变量定义中。
开启登录jboss-log4j.xml 文件。您应该在文件中放置这样的定义:
<category name="org.jboss.classloader">
<priority value="DEBUG"/>
</category>
【讨论】:
它对我有用。我确实添加如下。
<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>
【讨论】:
您还可以在命令提示符下启用日志或使用 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 错误。
【讨论】: