2011-07-14 70 views
4

我們如何啓用日誌記錄來調試JBoss 5.x中的類加載問題。如果在JBOSS_HOME/server/xxxxx/conf下配置jboss-log4j.xml,我們是否需要添加任何代碼或者是否有其他方法來啓用跟蹤。爲JBOSS類加載啓用日誌記錄

回答

7

您可以在兩個地方啓用日誌記錄:

  1. 在JVM - 你應該通過額外的開關-verbose:class。您可以將這些開關置於您的run.conf文件中的JAVA_OPTS變量定義中。

  2. 關閉日誌中jboss-log4j.xml文件。你應該把在文件中這樣定義:

    <category name="org.jboss.classloader"> 
        <priority value="DEBUG"/> 
    </category> 
    
+0

謝謝你Lukasz –

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> 
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錯誤。