Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Need a way to control logging outside war/log4j.isc.config.xml

    Hi,

    I check a few related post regarding this question, and none of them provides a solution. Additionally it seems, there is no clear understanding on Isomorphic side why people need it in the first place.

    We are planning to run SmartGWT application on JBoss. Just for reference, Jboss logging is based on log4j and it uses a centralize settings in Jboss's log4j.xml file. One of the benefits of it is that changes made in log4j.xml are applied without server restart, so admin may adjust log configuration on a fly. Another benefit is that regular log4j friendly application can be run without any internal log4j initialization/configurations.

    Compact EAR/WAR SmartGWT based application provide none of the options above. At the same time Isomorphic suggestions on having log4j.isc.config.xml empty or remove it from class path at all do not work. SmartGWT logging simply dissappears.

    So is there a work around for this issue?

    Thanks,
    Maksym

    P.S.
    Besides standard JBoss log4j settings, centralize log4j.xml has additional lines below that should allow to see SmartGWT messages

    <category name="com.isomorphic">
    <priority value="INFO" />
    </category>
    Last edited by maksymg; 21 Oct 2010, 13:59.

    #2
    The advice given was to copy the settings in log4j.isc.config.xml to your own file, leaving log4j.isc.config.XML blank. Have you actually tried this?

    Comment


      #3
      Here is a short version of Jboss log4j config. It looks almost identical to me from configuration view. The only what is missing is your special log4j "SmartClientLog" appender. I can't added it due to class loader hierarchy issue (smartclient libraries won't be visible for root Jboss Classloader). Nevertheless I can live without "Server Logs" tab in the Developer Console.

      Code:
      <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
         <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
            <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
            <param name="File" value="${jboss.server.log.dir}/server.log"/>
            <param name="Append" value="false"/>
            <param name="DatePattern" value="'.'yyyy-MM-dd"/>
            <layout class="org.apache.log4j.PatternLayout">
               <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
            </layout>
         </appender>
      
         <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
            <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
            <param name="Target" value="System.out"/>
            <param name="Threshold" value="DEBUG"/>
            <layout class="org.apache.log4j.PatternLayout">
               <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
            </layout>
         </appender>
      
         <category name="com.isomorphic">
           <priority value="INFO" />
         </category>
         <category name="org.apache.velocity">
           <priority value="WARN" />
         </category>
        
        <!-- other categories are omitted -->
      
         <root>
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE"/>
         </root>
      
      </log4j:configuration>
      Please point me on what is wrong with it?

      Comment


        #4
        Add -Dlog4j.debug to your JVM args and post the results of the log debug statements on the console. This should provide info on which configuration file is being loaded along other relevant data.

        Sanjiv

        Comment


          #5
          Here is log when nextgen.war (our test application) contains standard log4j.isc.config.xml. You can see SmartGWT startup messages but in strange way. All of them going via additional STDOUT.

          Code:
          log4j: Trying to find [log4j.xml] using context classloader org.jboss.system.server.NoAnnotationURLClassLoader@4eb3bf.
          log4j: Trying to find [log4j.xml] using org.jboss.system.server.NoAnnotationURLClassLoader@4eb3bf class loader.
          log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
          log4j: Trying to find [log4j.properties] using context classloader org.jboss.system.server.NoAnnotationURLClassLoader@4eb3bf.
          log4j: Using URL [jar:file:/C:/java/jboss-4.2.3.GA/bin/run.jar!/log4j.properties] for automatic log4j configuration.
          log4j: Reading configuration from URL jar:file:/C:/java/jboss-4.2.3.GA/bin/run.jar!/log4j.properties
          log4j: Parsing for [root] with value=[DEBUG, FILE, CONSOLE].
          log4j: Level token is [DEBUG].
          log4j: Category root set to DEBUG
          log4j: Parsing appender named "FILE".
          log4j: Parsing layout options for "FILE".
          log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %-5p [%c{1}] %m%n].
          log4j: End of parsing for "FILE".
          log4j: Setting property [append] to [false].
          log4j: Setting property [file] to [C:\java\jboss-4.2.3.GA\server\default\log/boot.log].
          log4j: setFile called: C:\java\jboss-4.2.3.GA\server\default\log/boot.log, false
          log4j: setFile ended
          log4j: Parsed "FILE" options.
          log4j: Parsing appender named "CONSOLE".
          log4j: Parsing layout options for "CONSOLE".
          log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %-5p [%c{1}] %m%n].
          log4j: End of parsing for "CONSOLE".
          log4j: Setting property [threshold] to [INFO].
          log4j: Setting property [target] to [System.out].
          log4j: Parsed "CONSOLE" options.
          log4j: Finished configuring.
          09:26:34,155 INFO  [Server] Starting JBoss (MX MicroKernel)...
          09:26:34,171 INFO  [Server] Release ID: JBoss [Trinity] 4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)
          09:26:34,171 INFO  [Server] Home Dir: C:\java\jboss-4.2.3.GA
          09:26:34,171 INFO  [Server] Home URL: file:/C:/java/jboss-4.2.3.GA/
          09:26:34,171 INFO  [Server] Patch URL: null
          09:26:34,171 INFO  [Server] Server Name: default
          09:26:34,171 INFO  [Server] Server Home Dir: C:\java\jboss-4.2.3.GA\server\default
          09:26:34,171 INFO  [Server] Server Home URL: file:/C:/java/jboss-4.2.3.GA/server/default/
          09:26:34,171 INFO  [Server] Server Log Dir: C:\java\jboss-4.2.3.GA\server\default\log
          09:26:34,171 INFO  [Server] Server Temp Dir: C:\java\jboss-4.2.3.GA\server\default\tmp
          09:26:34,171 INFO  [Server] Root Deployment Filename: jboss-service.xml
          09:26:34,904 INFO  [ServerInfo] Java version: 1.6.0_11,BEA Systems, Inc.
          09:26:34,904 INFO  [ServerInfo] Java VM: BEA JRockit(R) R27.6.3-40_o-112056-1.6.0_11-20090318-2104-windows-ia32,BEA Systems, Inc.
          09:26:34,904 INFO  [ServerInfo] OS-System: Windows Vista 6.0,x86
          09:26:35,528 INFO  [Server] Core system initialized
          09:26:37,307 INFO  [WebService] Using RMI server codebase: http://10.9.9.25:8083/
          09:26:37,308 INFO  [Log4jService$URLWatchTimerTask] Configuring from URL: resource:jboss-log4j.xml
          log4j: System property is :null
          log4j: Standard DocumentBuilderFactory search succeded.
          log4j: DocumentBuilderFactory is: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
          log4j: debug attribute= "true".
          log4j: Threshold ="null".
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache] additivity to [true].
          log4j: Level value for org.apache is  [INFO].
          log4j: org.apache level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [jacorb] additivity to [true].
          log4j: Level value for jacorb is  [WARN].
          log4j: jacorb level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jgroups] additivity to [true].
          log4j: Level value for org.jgroups is  [WARN].
          log4j: org.jgroups level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.quartz] additivity to [true].
          log4j: Level value for org.quartz is  [INFO].
          log4j: org.quartz level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [javax.enterprise.resource.webcontainer.jsf] additivity to [true].
          log4j: Level value for javax.enterprise.resource.webcontainer.jsf is  [INFO].
          log4j: javax.enterprise.resource.webcontainer.jsf level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jboss] additivity to [true].
          log4j: Level value for org.jboss is  [INFO].
          log4j: org.jboss level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.arjuna] additivity to [true].
          log4j: Level value for com.arjuna is  [ERROR].
          log4j: com.arjuna level set to ERROR
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.springframework] additivity to [true].
          log4j: Level value for org.springframework is  [WARN].
          log4j: org.springframework level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.springmodules] additivity to [true].
          log4j: Level value for org.springmodules is  [INFO].
          log4j: org.springmodules level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.docupace] additivity to [true].
          log4j: Level value for com.docupace is  [DEBUG].
          log4j: com.docupace level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [mpdn] additivity to [true].
          log4j: Level value for mpdn is  [DEBUG].
          log4j: mpdn level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [mpdn.docnavigator.upload] additivity to [true].
          log4j: Level value for mpdn.docnavigator.upload is  [DEBUG].
          log4j: mpdn.docnavigator.upload level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.docupace.jboss.security.auth] additivity to [true].
          log4j: Level value for com.docupace.jboss.security.auth is  [DEBUG].
          log4j: com.docupace.jboss.security.auth level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.quartz] additivity to [true].
          log4j: Level value for org.quartz is  [WARN].
          log4j: org.quartz level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.opensymphony] additivity to [true].
          log4j: Level value for com.opensymphony is  [INFO].
          log4j: com.opensymphony level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [net.sf] additivity to [true].
          log4j: Level value for net.sf is  [WARN].
          log4j: net.sf level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.hibernate] additivity to [true].
          log4j: Level value for org.hibernate is  [WARN].
          log4j: org.hibernate level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog] additivity to [true].
          log4j: Level value for org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog is  [ERROR].
          log4j: org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog level set to ERROR
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jbpm] additivity to [true].
          log4j: Level value for org.jbpm is  [INFO].
          log4j: org.jbpm level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.hibernate.cache.EhCacheProvider] additivity to [true].
          log4j: Level value for org.hibernate.cache.EhCacheProvider is  [ERROR].
          log4j: org.hibernate.cache.EhCacheProvider level set to ERROR
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [tapestry] additivity to [true].
          log4j: Level value for tapestry is  [INFO].
          log4j: tapestry level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache.tapestry] additivity to [true].
          log4j: Level value for org.apache.tapestry is  [INFO].
          log4j: org.apache.tapestry level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [hivemind] additivity to [true].
          log4j: Level value for hivemind is  [INFO].
          log4j: hivemind level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.javaforge] additivity to [true].
          log4j: Level value for com.javaforge is  [INFO].
          log4j: com.javaforge level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [workbench] additivity to [true].
          log4j: Level value for workbench is  [INFO].
          log4j: workbench level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.directwebremoting] additivity to [true].
          log4j: Level value for org.directwebremoting is  [INFO].
          log4j: org.directwebremoting level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.displaytag] additivity to [true].
          log4j: Level value for org.displaytag is  [WARN].
          log4j: org.displaytag level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache.struts] additivity to [true].
          log4j: Level value for org.apache.struts is  [WARN].
          log4j: org.apache.struts level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.opensymphony] additivity to [true].
          log4j: Level value for com.opensymphony is  [WARN].
          log4j: com.opensymphony level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.efs] additivity to [true].
          log4j: Level value for org.efs is  [WARN].
          log4j: org.efs level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.isomorphic] additivity to [true].
          log4j: Level value for com.isomorphic is  [INFO].
          log4j: com.isomorphic level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache.velocity] additivity to [true].
          log4j: Level value for org.apache.velocity is  [WARN].
          log4j: org.apache.velocity level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jboss.management] additivity to [true].
          log4j: Level value for org.jboss.management is  [INFO].
          log4j: org.jboss.management level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jboss.serial] additivity to [true].
          log4j: Level value for org.jboss.serial is  [INFO].
          log4j: org.jboss.serial level set to INFO
          log4j: Class name: [org.apache.log4j.ConsoleAppender]
          log4j: Setting property [target] to [System.out].
          log4j: Setting property [threshold] to [DEBUG].
          log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
          log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %-5p [%c{1}] %m%n].
          log4j: Adding appender named [CONSOLE] to category [root].
          log4j: Class name: [org.jboss.logging.appender.DailyRollingFileAppender]
          log4j: Setting property [file] to [C:\java\jboss-4.2.3.GA\server\default\log/server.log].
          log4j: Setting property [append] to [false].
          log4j: Setting property [datePattern] to ['.'yyyy-MM-dd].
          log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
          log4j: Setting property [conversionPattern] to [%d %-5p [%c] %m%n].
          log4j: setFile called: C:\java\jboss-4.2.3.GA\server\default\log/server.log, false
          log4j: setFile ended
          log4j: Appender [FILE] to be rolled at midnight.
          log4j: Adding appender named [FILE] to category [root].
          09:26:37,651 DEBUG [NamingBeanImpl] Using NamingServer: org.jnp.server.NamingServer@996229
          09:26:37,651 DEBUG [NamingBeanImpl] Installed global NamingServer: org.jnp.server.NamingServer@996229
          09:26:37,667 DEBUG [NamingBeanImpl] InitialContext Environment: 
          09:26:37,667 DEBUG [NamingBeanImpl] key=java.naming.factory.initial, value(java.lang.String)=org.jnp.interfaces.NamingContextFactory
          09:26:37,667 DEBUG [NamingBeanImpl] key=java.naming.factory.url.pkgs, value(java.lang.String)=org.jboss.naming:org.jnp.interfaces
          09:26:41,473 INFO  [EJB3Deployer] Starting java:comp multiplexer
          09:26:43,705 INFO  [NativeServerConfig] JBoss Web Services - Native
          09:26:43,705 INFO  [NativeServerConfig] jbossws-3.0.1-native-2.0.4.GA (build=200803312044)
          09:26:44,611 INFO  [Embedded] Catalina naming disabled
          09:26:44,798 WARN  [Digester] [SetPropertiesRule]{Server/Service/Engine/Host/Valve} Setting property 'debug' to '0' did not find a matching property.
          09:26:44,830 INFO  [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\java\jrmc-3.1.0-1.6.0\bin
          09:26:44,893 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-10.9.9.25-8080
          09:26:44,893 INFO  [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-10.9.9.25-8009
          09:26:44,893 INFO  [Catalina] Initialization processed in 286 ms
          09:26:44,893 INFO  [StandardService] Starting service jboss.web
          09:26:44,908 INFO  [StandardEngine] Starting Servlet Engine: JBossWeb/2.0.1.GA
          09:26:44,971 INFO  [Catalina] Server startup in 69 ms
          09:26:45,174 INFO  [TomcatDeployer] deploy, ctxPath=/, warUrl=.../deploy/jboss-web.deployer/ROOT.war/
          09:26:47,403 INFO  [TomcatDeployer] deploy, ctxPath=/jbossws, warUrl=.../deploy/jbossws.sar/jbossws-context.war/
          09:26:47,480 INFO  [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=.../deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/
          09:26:48,083 INFO  [MailService] Mail Service bound to java:/mail/supportMail
          09:26:48,099 INFO  [MailService] Mail Service bound to java:mail/kusarSession
          09:26:48,223 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-local-jdbc.rar
          09:26:48,255 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-xa-jdbc.rar
          09:26:48,270 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-local-jdbc.rar
          09:26:48,301 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-xa-jdbc.rar
          09:26:48,348 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jms/jms-ra.rar
          09:26:48,379 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/mail-ra.rar
          09:26:48,426 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/quartz-ra.rar
          09:26:48,427 INFO  [QuartzResourceAdapter] start quartz!!!
          09:26:48,989 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/dbRealmDS' to JNDI name 'java:jdbc/dbRealmDS'
          09:26:49,067 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/retrieveDS' to JNDI name 'java:jdbc/retrieveDS'
          09:26:50,221 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
          09:26:50,893 INFO  [A] Bound to JNDI name: queue/A
          09:26:50,909 INFO  [B] Bound to JNDI name: queue/B
          09:26:50,909 INFO  [C] Bound to JNDI name: queue/C
          09:26:50,909 INFO  [D] Bound to JNDI name: queue/D
          09:26:50,909 INFO  [ex] Bound to JNDI name: queue/ex
          09:26:50,924 INFO  [testTopic] Bound to JNDI name: topic/testTopic
          09:26:50,924 INFO  [securedTopic] Bound to JNDI name: topic/securedTopic
          09:26:50,924 INFO  [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
          09:26:50,940 INFO  [testQueue] Bound to JNDI name: queue/testQueue
          09:26:50,971 INFO  [UILServerILService] JBossMQ UIL service available at : /10.9.9.25:8093
          09:26:51,002 INFO  [DLQ] Bound to JNDI name: queue/DLQ
          09:26:51,096 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
          09:26:51,174 INFO  [TomcatDeployer] deploy, ctxPath=/nextgen, warUrl=.../deploy/nextgen.war/
          09:26:51,252 INFO  [WebappClassLoader] validateJarFile(C:\java\jboss-4.2.3.GA\server\default\.\deploy\nextgen.war\WEB-INF\lib\gwt-user-2.0.3.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
          09:26:51,674 INFO  [[/nextgen]] Initializing Spring root WebApplicationContext
          09:26:55,496 INFO  [STDOUT] MetaInfDAO Using Product:Oracle
          09:26:56,121 INFO  [STDOUT] FilterDAO Using Product:Oracle
          09:26:56,183 INFO  [STDOUT] SecurityDAO Using Product:Oracle
          09:26:56,293 INFO  [STDOUT] AriDataDAO Using Product:Oracle
          09:26:56,355 INFO  [STDOUT] SearchDAO Using Product:Oracle
          09:26:56,433 INFO  [STDOUT] ImageAccessAuditDAO Using Product:Oracle
          09:26:56,527 INFO  [STDOUT] DocDataDAO Using Product:Oracle
          09:26:57,713 WARN  [StandardDialectResolver] Oracle 11g is not yet fully supported; using 10g dialect
          09:26:58,557 DEBUG [DataSourceFileManagerImpl] data source destination: C:\java\jboss-4.2.3.GA\server\default\.\deploy\nextgen.war\shared\ds
          09:26:58,697 INFO  [STDOUT] ISC: Configuring log4j from: file:/C:/java/jboss-4.2.3.GA/server/default/deploy/nextgen.war/WEB-INF/classes/log4j.isc.config.xml
          09:26:58,728 INFO  [STDOUT] === 2010-10-22 09:26:58,728 [main] INFO  ISCInit - Isomorphic SmartClient Framework - Initializing
          09:26:58,729 INFO  [STDOUT] === 2010-10-22 09:26:58,729 [main] INFO  ConfigLoader - Attempting to load framework.properties from CLASSPATH
          09:26:58,885 INFO  [STDOUT] === 2010-10-22 09:26:58,885 [main] INFO  ConfigLoader - Successfully loaded framework.properties from CLASSPATH at location: jar:file:/C:/java/jboss-4.2.3.GA/server/default/deploy/nextgen.war/WEB-INF/lib/isomorphic_core_rpc-2.3.jar!/framework.properties
          09:26:58,885 INFO  [STDOUT] === 2010-10-22 09:26:58,885 [main] INFO  ConfigLoader - Attempting to load project.properties from CLASSPATH
          09:26:58,885 INFO  [STDOUT] === 2010-10-22 09:26:58,885 [main] INFO  ConfigLoader - Unable to locate project.properties in CLASSPATH
          09:26:58,885 INFO  [STDOUT] === 2010-10-22 09:26:58,885 [main] INFO  ConfigLoader - Successfully loaded isc_interfaces.properties from CLASSPATH at location: jar:file:/C:/java/jboss-4.2.3.GA/server/default/deploy/nextgen.war/WEB-INF/lib/isomorphic_core_rpc-2.3.jar!/isc_interfaces.properties
          09:26:58,885 INFO  [STDOUT] === 2010-10-22 09:26:58,885 [main] INFO  ConfigLoader - Attempting to load server.properties from CLASSPATH
          09:26:58,885 INFO  [STDOUT] === 2010-10-22 09:26:58,885 [main] INFO  ConfigLoader - Successfully loaded server.properties from CLASSPATH at location: file:/C:/java/jboss-4.2.3.GA/server/default/deploy/nextgen.war/WEB-INF/classes/server.properties
          09:26:58,916 INFO  [STDOUT] === 2010-10-22 09:26:58,916 [main] INFO  Logger - Logging system started.
          09:26:58,916 INFO  [STDOUT] === 2010-10-22 09:26:58,916 [main] INFO  ISCInit - Isomorphic SmartClient Framework (SC_SNAPSHOT-2010-07-28/EVAL Deployment 2010-07-28) - Initialization Complete
          09:26:58,916 INFO  [STDOUT] === 2010-10-22 09:26:58,916 [main] DEBUG ISCInit - Verifying webroot: C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war
          09:26:58,916 INFO  [STDOUT] === 2010-10-22 09:26:58,916 [main] INFO  ISCInit - Auto-detected webRoot - using: C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war
          09:26:58,963 INFO  [STDOUT] === 2010-10-22 09:26:58,963 [main] INFO  PreCache - Isomorphic PreCache servlet loading
          09:26:58,979 INFO  [STDOUT] === 2010-10-22 09:26:58,979 [main] INFO  PoolManager - SmartClient pooling disabled for 'DataSource' objects
          09:26:59,057 INFO  [STDOUT] === 2010-10-22 09:26:59,057 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\DataSource.ds.xml: 0ms
          09:26:59,072 INFO  [STDOUT] === 2010-10-22 09:26:59,072 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\builtinTypes.xml: 0ms
          09:26:59,166 INFO  [STDOUT] === 2010-10-22 09:26:59,166 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\DataSourceField.ds.xml: 0ms
          09:26:59,182 INFO  [STDOUT] === 2010-10-22 09:26:59,182 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\Validator.ds.xml: 0ms
          09:26:59,197 INFO  [STDOUT] === 2010-10-22 09:26:59,197 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\ValueMap.ds.xml: 0ms
          09:26:59,197 INFO  [STDOUT] === 2010-10-22 09:26:59,197 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\InstantDataApp.ds.xml: 0ms
          09:26:59,260 INFO  [STDOUT] === 2010-10-22 09:26:59,260 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\Application.ds.xml: 0ms
          09:26:59,275 INFO  [STDOUT] === 2010-10-22 09:26:59,275 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\IDAPage.ds.xml: 0ms
          09:26:59,275 INFO  [STDOUT] === 2010-10-22 09:26:59,275 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\IDAUserType.ds.xml: 0ms
          09:26:59,275 INFO  [STDOUT] === 2010-10-22 09:26:59,275 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\IDAOperation.ds.xml: 0ms
          09:26:59,291 INFO  [STDOUT] === 2010-10-22 09:26:59,291 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\Canvas.ds.xml: 0ms
          09:26:59,322 INFO  [STDOUT] === 2010-10-22 09:26:59,322 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\MethodDeclaration.ds.xml: 16ms
          09:26:59,384 INFO  [STDOUT] === 2010-10-22 09:26:59,384 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\Img.ds.xml: 0ms
          09:26:59,384 INFO  [STDOUT] === 2010-10-22 09:26:59,384 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\StatefulCanvas.ds.xml: 0ms
          09:26:59,400 INFO  [STDOUT] === 2010-10-22 09:26:59,400 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\Button.ds.xml: 0ms
          09:26:59,400 INFO  [STDOUT] === 2010-10-22 09:26:59,400 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\ListViewer.ds.xml: 0ms
          09:26:59,400 INFO  [STDOUT] === 2010-10-22 09:26:59,400 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\ListGrid.ds.xml: 0ms
          09:26:59,431 INFO  [STDOUT] === 2010-10-22 09:26:59,431 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\DynamicForm.ds.xml: 0ms
          09:26:59,431 INFO  [STDOUT] === 2010-10-22 09:26:59,431 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\FormItem.ds.xml: 0ms
          09:26:59,447 INFO  [STDOUT] === 2010-10-22 09:26:59,447 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\DetailViewer.ds.xml: 0ms
          09:26:59,462 INFO  [STDOUT] === 2010-10-22 09:26:59,462 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\DetailViewerField.ds.xml: 15ms
          09:26:59,462 INFO  [STDOUT] === 2010-10-22 09:26:59,462 [main] DEBUG XML - Parsed XML from C:\java\jboss-4.2.3.GA\server\default\deploy\nextgen.war\laserapp\sc\system\schema\isomorphicXML.ds.xml: 0ms
          09:26:59,462 INFO  [STDOUT] === 2010-10-22 09:26:59,462 [main] INFO  PreCache - Isomorphic PreCache complete (499ms)
          09:26:59,572 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-10.9.9.25-8080
          09:26:59,603 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-10.9.9.25-8009
          09:26:59,603 INFO  [Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] Started in 25s:417ms
          Here is the same startup log when log4j.isc.config.xml is removed from nextgen.war

          Code:
          log4j: Trying to find [log4j.xml] using context classloader org.jboss.system.server.NoAnnotationURLClassLoader@4eb3bf.
          log4j: Trying to find [log4j.xml] using org.jboss.system.server.NoAnnotationURLClassLoader@4eb3bf class loader.
          log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
          log4j: Trying to find [log4j.properties] using context classloader org.jboss.system.server.NoAnnotationURLClassLoader@4eb3bf.
          log4j: Using URL [jar:file:/C:/java/jboss-4.2.3.GA/bin/run.jar!/log4j.properties] for automatic log4j configuration.
          log4j: Reading configuration from URL jar:file:/C:/java/jboss-4.2.3.GA/bin/run.jar!/log4j.properties
          log4j: Parsing for [root] with value=[DEBUG, FILE, CONSOLE].
          log4j: Level token is [DEBUG].
          log4j: Category root set to DEBUG
          log4j: Parsing appender named "FILE".
          log4j: Parsing layout options for "FILE".
          log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %-5p [%c{1}] %m%n].
          log4j: End of parsing for "FILE".
          log4j: Setting property [append] to [false].
          log4j: Setting property [file] to [C:\java\jboss-4.2.3.GA\server\default\log/boot.log].
          log4j: setFile called: C:\java\jboss-4.2.3.GA\server\default\log/boot.log, false
          log4j: setFile ended
          log4j: Parsed "FILE" options.
          log4j: Parsing appender named "CONSOLE".
          log4j: Parsing layout options for "CONSOLE".
          log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %-5p [%c{1}] %m%n].
          log4j: End of parsing for "CONSOLE".
          log4j: Setting property [threshold] to [INFO].
          log4j: Setting property [target] to [System.out].
          log4j: Parsed "CONSOLE" options.
          log4j: Finished configuring.
          09:36:53,472 INFO  [Server] Starting JBoss (MX MicroKernel)...
          09:36:53,488 INFO  [Server] Release ID: JBoss [Trinity] 4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)
          09:36:53,488 INFO  [Server] Home Dir: C:\java\jboss-4.2.3.GA
          09:36:53,488 INFO  [Server] Home URL: file:/C:/java/jboss-4.2.3.GA/
          09:36:53,488 INFO  [Server] Patch URL: null
          09:36:53,488 INFO  [Server] Server Name: default
          09:36:53,488 INFO  [Server] Server Home Dir: C:\java\jboss-4.2.3.GA\server\default
          09:36:53,488 INFO  [Server] Server Home URL: file:/C:/java/jboss-4.2.3.GA/server/default/
          09:36:53,488 INFO  [Server] Server Log Dir: C:\java\jboss-4.2.3.GA\server\default\log
          09:36:53,488 INFO  [Server] Server Temp Dir: C:\java\jboss-4.2.3.GA\server\default\tmp
          09:36:53,488 INFO  [Server] Root Deployment Filename: jboss-service.xml
          09:36:54,221 INFO  [ServerInfo] Java version: 1.6.0_11,BEA Systems, Inc.
          09:36:54,221 INFO  [ServerInfo] Java VM: BEA JRockit(R) R27.6.3-40_o-112056-1.6.0_11-20090318-2104-windows-ia32,BEA Systems, Inc.
          09:36:54,221 INFO  [ServerInfo] OS-System: Windows Vista 6.0,x86
          09:36:54,860 INFO  [Server] Core system initialized
          09:36:56,640 INFO  [WebService] Using RMI server codebase: http://10.9.9.25:8083/
          09:36:56,640 INFO  [Log4jService$URLWatchTimerTask] Configuring from URL: resource:jboss-log4j.xml
          log4j: System property is :null
          log4j: Standard DocumentBuilderFactory search succeded.
          log4j: DocumentBuilderFactory is: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
          log4j: debug attribute= "true".
          log4j: Threshold ="null".
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache] additivity to [true].
          log4j: Level value for org.apache is  [INFO].
          log4j: org.apache level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [jacorb] additivity to [true].
          log4j: Level value for jacorb is  [WARN].
          log4j: jacorb level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jgroups] additivity to [true].
          log4j: Level value for org.jgroups is  [WARN].
          log4j: org.jgroups level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.quartz] additivity to [true].
          log4j: Level value for org.quartz is  [INFO].
          log4j: org.quartz level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [javax.enterprise.resource.webcontainer.jsf] additivity to [true].
          log4j: Level value for javax.enterprise.resource.webcontainer.jsf is  [INFO].
          log4j: javax.enterprise.resource.webcontainer.jsf level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jboss] additivity to [true].
          log4j: Level value for org.jboss is  [INFO].
          log4j: org.jboss level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.arjuna] additivity to [true].
          log4j: Level value for com.arjuna is  [ERROR].
          log4j: com.arjuna level set to ERROR
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.springframework] additivity to [true].
          log4j: Level value for org.springframework is  [WARN].
          log4j: org.springframework level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.springmodules] additivity to [true].
          log4j: Level value for org.springmodules is  [INFO].
          log4j: org.springmodules level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.docupace] additivity to [true].
          log4j: Level value for com.docupace is  [DEBUG].
          log4j: com.docupace level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [mpdn] additivity to [true].
          log4j: Level value for mpdn is  [DEBUG].
          log4j: mpdn level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [mpdn.docnavigator.upload] additivity to [true].
          log4j: Level value for mpdn.docnavigator.upload is  [DEBUG].
          log4j: mpdn.docnavigator.upload level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.docupace.jboss.security.auth] additivity to [true].
          log4j: Level value for com.docupace.jboss.security.auth is  [DEBUG].
          log4j: com.docupace.jboss.security.auth level set to DEBUG
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.quartz] additivity to [true].
          log4j: Level value for org.quartz is  [WARN].
          log4j: org.quartz level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.opensymphony] additivity to [true].
          log4j: Level value for com.opensymphony is  [INFO].
          log4j: com.opensymphony level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [net.sf] additivity to [true].
          log4j: Level value for net.sf is  [WARN].
          log4j: net.sf level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.hibernate] additivity to [true].
          log4j: Level value for org.hibernate is  [WARN].
          log4j: org.hibernate level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog] additivity to [true].
          log4j: Level value for org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog is  [ERROR].
          log4j: org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog level set to ERROR
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jbpm] additivity to [true].
          log4j: Level value for org.jbpm is  [INFO].
          log4j: org.jbpm level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.hibernate.cache.EhCacheProvider] additivity to [true].
          log4j: Level value for org.hibernate.cache.EhCacheProvider is  [ERROR].
          log4j: org.hibernate.cache.EhCacheProvider level set to ERROR
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [tapestry] additivity to [true].
          log4j: Level value for tapestry is  [INFO].
          log4j: tapestry level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache.tapestry] additivity to [true].
          log4j: Level value for org.apache.tapestry is  [INFO].
          log4j: org.apache.tapestry level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [hivemind] additivity to [true].
          log4j: Level value for hivemind is  [INFO].
          log4j: hivemind level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.javaforge] additivity to [true].
          log4j: Level value for com.javaforge is  [INFO].
          log4j: com.javaforge level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [workbench] additivity to [true].
          log4j: Level value for workbench is  [INFO].
          log4j: workbench level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.directwebremoting] additivity to [true].
          log4j: Level value for org.directwebremoting is  [INFO].
          log4j: org.directwebremoting level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.displaytag] additivity to [true].
          log4j: Level value for org.displaytag is  [WARN].
          log4j: org.displaytag level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache.struts] additivity to [true].
          log4j: Level value for org.apache.struts is  [WARN].
          log4j: org.apache.struts level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.opensymphony] additivity to [true].
          log4j: Level value for com.opensymphony is  [WARN].
          log4j: com.opensymphony level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.efs] additivity to [true].
          log4j: Level value for org.efs is  [WARN].
          log4j: org.efs level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [com.isomorphic] additivity to [true].
          log4j: Level value for com.isomorphic is  [INFO].
          log4j: com.isomorphic level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.apache.velocity] additivity to [true].
          log4j: Level value for org.apache.velocity is  [WARN].
          log4j: org.apache.velocity level set to WARN
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jboss.management] additivity to [true].
          log4j: Level value for org.jboss.management is  [INFO].
          log4j: org.jboss.management level set to INFO
          log4j: Retreiving an instance of org.apache.log4j.Logger.
          log4j: Setting [org.jboss.serial] additivity to [true].
          log4j: Level value for org.jboss.serial is  [INFO].
          log4j: org.jboss.serial level set to INFO
          log4j: Class name: [org.apache.log4j.ConsoleAppender]
          log4j: Setting property [target] to [System.out].
          log4j: Setting property [threshold] to [DEBUG].
          log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
          log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %-5p [%c{1}] %m%n].
          log4j: Adding appender named [CONSOLE] to category [root].
          log4j: Class name: [org.jboss.logging.appender.DailyRollingFileAppender]
          log4j: Setting property [file] to [C:\java\jboss-4.2.3.GA\server\default\log/server.log].
          log4j: Setting property [append] to [false].
          log4j: Setting property [datePattern] to ['.'yyyy-MM-dd].
          log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
          log4j: Setting property [conversionPattern] to [%d %-5p [%c] %m%n].
          log4j: setFile called: C:\java\jboss-4.2.3.GA\server\default\log/server.log, false
          log4j: setFile ended
          log4j: Appender [FILE] to be rolled at midnight.
          log4j: Adding appender named [FILE] to category [root].
          09:36:56,968 DEBUG [NamingBeanImpl] Using NamingServer: org.jnp.server.NamingServer@997229
          09:36:56,984 DEBUG [NamingBeanImpl] Installed global NamingServer: org.jnp.server.NamingServer@997229
          09:36:57,000 DEBUG [NamingBeanImpl] InitialContext Environment: 
          09:36:57,000 DEBUG [NamingBeanImpl] key=java.naming.factory.initial, value(java.lang.String)=org.jnp.interfaces.NamingContextFactory
          09:36:57,000 DEBUG [NamingBeanImpl] key=java.naming.factory.url.pkgs, value(java.lang.String)=org.jboss.naming:org.jnp.interfaces
          09:37:00,837 INFO  [EJB3Deployer] Starting java:comp multiplexer
          09:37:03,085 INFO  [NativeServerConfig] JBoss Web Services - Native
          09:37:03,085 INFO  [NativeServerConfig] jbossws-3.0.1-native-2.0.4.GA (build=200803312044)
          09:37:03,990 INFO  [Embedded] Catalina naming disabled
          09:37:04,178 WARN  [Digester] [SetPropertiesRule]{Server/Service/Engine/Host/Valve} Setting property 'debug' to '0' did not find a matching property.
          09:37:04,179 INFO  [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\java\jrmc-3.1.0-1.6.0\bin
          09:37:04,272 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-10.9.9.25-8080
          09:37:04,272 INFO  [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-10.9.9.25-8009
          09:37:04,272 INFO  [Catalina] Initialization processed in 284 ms
          09:37:04,272 INFO  [StandardService] Starting service jboss.web
          09:37:04,272 INFO  [StandardEngine] Starting Servlet Engine: JBossWeb/2.0.1.GA
          09:37:04,335 INFO  [Catalina] Server startup in 70 ms
          09:37:04,553 INFO  [TomcatDeployer] deploy, ctxPath=/, warUrl=.../deploy/jboss-web.deployer/ROOT.war/
          09:37:06,753 INFO  [TomcatDeployer] deploy, ctxPath=/jbossws, warUrl=.../deploy/jbossws.sar/jbossws-context.war/
          09:37:06,832 INFO  [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=.../deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/
          09:37:07,440 INFO  [MailService] Mail Service bound to java:/mail/supportMail
          09:37:07,456 INFO  [MailService] Mail Service bound to java:mail/kusarSession
          09:37:07,580 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-local-jdbc.rar
          09:37:07,612 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-xa-jdbc.rar
          09:37:07,643 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-local-jdbc.rar
          09:37:07,658 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-xa-jdbc.rar
          09:37:07,705 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jms/jms-ra.rar
          09:37:07,736 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/mail-ra.rar
          09:37:07,783 INFO  [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/quartz-ra.rar
          09:37:07,784 INFO  [QuartzResourceAdapter] start quartz!!!
          09:37:08,299 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/dbRealmDS' to JNDI name 'java:jdbc/dbRealmDS'
          09:37:08,377 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/retrieveDS' to JNDI name 'java:jdbc/retrieveDS'
          09:37:09,563 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
          09:37:10,219 INFO  [A] Bound to JNDI name: queue/A
          09:37:10,219 INFO  [B] Bound to JNDI name: queue/B
          09:37:10,219 INFO  [C] Bound to JNDI name: queue/C
          09:37:10,219 INFO  [D] Bound to JNDI name: queue/D
          09:37:10,219 INFO  [ex] Bound to JNDI name: queue/ex
          09:37:10,250 INFO  [testTopic] Bound to JNDI name: topic/testTopic
          09:37:10,250 INFO  [securedTopic] Bound to JNDI name: topic/securedTopic
          09:37:10,250 INFO  [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
          09:37:10,250 INFO  [testQueue] Bound to JNDI name: queue/testQueue
          09:37:10,297 INFO  [UILServerILService] JBossMQ UIL service available at : /10.9.9.25:8093
          09:37:10,312 INFO  [DLQ] Bound to JNDI name: queue/DLQ
          09:37:10,406 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
          09:37:10,500 INFO  [TomcatDeployer] deploy, ctxPath=/nextgen, warUrl=.../deploy/nextgen.war/
          09:37:10,609 INFO  [WebappClassLoader] validateJarFile(C:\java\jboss-4.2.3.GA\server\default\.\deploy\nextgen.war\WEB-INF\lib\gwt-user-2.0.3.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
          09:37:10,828 INFO  [[/nextgen]] Initializing Spring root WebApplicationContext
          09:37:14,198 INFO  [STDOUT] MetaInfDAO Using Product:Oracle
          09:37:14,870 INFO  [STDOUT] FilterDAO Using Product:Oracle
          09:37:14,948 INFO  [STDOUT] SecurityDAO Using Product:Oracle
          09:37:15,057 INFO  [STDOUT] AriDataDAO Using Product:Oracle
          09:37:15,119 INFO  [STDOUT] SearchDAO Using Product:Oracle
          09:37:15,182 INFO  [STDOUT] ImageAccessAuditDAO Using Product:Oracle
          09:37:15,275 INFO  [STDOUT] DocDataDAO Using Product:Oracle
          09:37:16,462 WARN  [StandardDialectResolver] Oracle 11g is not yet fully supported; using 10g dialect
          09:37:17,305 DEBUG [DataSourceFileManagerImpl] data source destination: C:\java\jboss-4.2.3.GA\server\default\.\deploy\nextgen.war\shared\ds
          09:37:17,430 INFO  [STDOUT] === SmartClient Init: log4j.isc.config.xml not found in CLASSPATH. Assuming log4j configuration for com.isomorphic is located in some other log4j configuration file.
          09:37:18,241 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-10.9.9.25-8080
          09:37:18,273 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-10.9.9.25-8009
          09:37:18,289 INFO  [Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] Started in 24s:786ms
          I'm suspect you do not connect properly into Log4j hierarchy during your log system initialization. I'm also puzling why would you need a custom Log implementation inside Smartclient?

          Hope it will help.
          Thanks,
          Last edited by maksymg; 22 Oct 2010, 08:45.

          Comment


            #6
            Did you ever fix this? I have the same problem.

            Comment


              #7
              I'm interested with the solution too.
              Anything new?

              Comment


                #8
                I'm using 8.0 Power version and I discovered there is no way to configure logging without log4j.isc.config.xml file unless you write simple code snippet and reconfigure it yourself.

                When ISC do not see log4.jsc.config.xml file upon initialization it configures itself (log4j Hierarchy class) with root category WARN. That is why you do not see any messages on console.

                What I did is I got handle to this hierarchy and recofigured it with my own file (central) after ISC Logging has initialized.

                I did it in servlet listener, but it can be done simpler:

                here is web.xml snippet
                Code:
                <context-param>
                        <param-name>log4jConfigFileName</param-name>
                        <param-value>my-log4j.xml</param-value>
                    </context-param>
                
                    <context-param>
                        <param-name>log4jConfigLocationPrefixSystemProperty</param-name>
                        <param-value>locationConfigLocationPrefix</param-value>
                    </context-param>
                
                    <context-param>
                        <param-name>log4jRefreshInterval</param-name>
                        <param-value>10000</param-value>
                    </context-param>
                
                
                      <listener>
                        <listener-class>x.IscLog4jConfigListener</listener-class>
                    </listener>
                then I wrote listener:

                Code:
                package x
                
                import com.isomorphic.log.Logger;
                import org.apache.log4j.helpers.FileWatchdog;
                import org.apache.log4j.xml.DOMConfigurator;
                import pl.touk.logging.Log4jWebConfigurer;
                
                import javax.servlet.ServletContext;
                import javax.servlet.ServletContextEvent;
                import javax.servlet.ServletContextListener;
                import java.io.File;
                
                /**
                 * @author Lukasz Kucharski
                 */
                public class IscLog4jConfigListener implements ServletContextListener {
                
                    private static final String DEFAULT_REFRESH_INTERVAL = "10000";
                
                    @Override
                    public void contextInitialized(ServletContextEvent event) {
                
                
                        ServletContext context = event.getServletContext();
                        String filename = context.getInitParameter(Log4jWebConfigurer.CONFIG_FILENAME_PARAM);
                        String prefix = context.getInitParameter(Log4jWebConfigurer.CONFIG_LOCATION_PREFIX);
                        String location = System.getProperty(prefix) + '/' + filename;
                        File file = new File(location);
                
                        if (!file.exists()) {
                            throw new IllegalArgumentException("Log4j config file [" + location + "] not found");
                        }
                
                        String intervalString = context.getInitParameter(Log4jWebConfigurer.REFRESH_INTERVAL_PARAM);
                        intervalString = intervalString == null ? DEFAULT_REFRESH_INTERVAL : intervalString;
                
                        try {
                            long refreshInterval = Long.parseLong(intervalString);
                            XMLWatchdog xdog = new XMLWatchdog(file.getAbsolutePath());
                            xdog.setDelay(refreshInterval);
                            xdog.start();
                        } catch (NumberFormatException ex) {
                            throw new IllegalArgumentException("Invalid 'log4jRefreshInterval' parameter: " + ex.getMessage());
                        }
                
                
                    }
                
                    @Override
                    public void contextDestroyed(ServletContextEvent event) {
                
                    }
                
                
                    static class XMLWatchdog extends FileWatchdog {
                
                        XMLWatchdog(String filename) {
                            super(filename);
                        }
                
                        /**
                         * Call {@link org.apache.log4j.xml.DOMConfigurator#configure(String)} with the
                         * <code>filename</code> to reconfigure log4j.
                         */
                      public void doOnChange() {
                            // inicjalizuj natywne logowanie smartclienta
                            // kiedy nie ma pliku isc.log4j.xml to
                            // domyslnie skonfiguruje sie z ROOT priority na WARN
                            // potem go przekonfigurujemy na podstawie parametrow podanych do logowania w web.xml
                            Logger.initialize();
                            LogManager.setRepositorySelector(new RepositorySelector() {
                                @Override
                                public LoggerRepository getLoggerRepository() {
                                    return Logger.getHierarchy();
                                }
                            }, null);
                            // przekonfiguruj logowanie z pliku podanego w web.xml
                            new DOMConfigurator().doConfigure(filename, Logger.getHierarchy());
                        }
                    }
                }
                You don't have to do it with FileWatchDog, we did that since we need to change logging settings without app restarts. You can hardcode file paths in Listener (instead fetching them from servletContext) or do this reconfiguration in any code which runs later (servlets, controllers). What I mean is that you can basically do this in three liner if you want.

                Hope this would be useful for someone with similar issues.
                lkc
                Last edited by lkuchars; 22 Jul 2011, 03:13.

                Comment


                  #9
                  Thanks for this useful code sample, it helped me.

                  Comment


                    #10
                    @lkuchars A useful example, but your code has a couple of caveats, which should be kept in mind.
                    Newer versions of log4j has the possibility to configure multiple log-hierarchies, which are configurable individually. The Isc Logger class does in fact create it's own hierarchy and keeps a static reference to this. Your FileWatchDog implementation sets the LogManager to always return the isc logger hierarchy, so it will in effect disable other hierarchies in the web-application, at least if you acquire your loggers through org.apache.log4j.Logger.getLogger(), or directly from the LogManager. This is of course fine if you want all your logging configured in a single place, which is obvisouly your intent here.
                    Another warning should be issued that the FileWatchDog creates a separate thread which is not tied to the lifecycle of the application. You would ideally want those threads destroyed on contextDestroyed() in the ServleContextListener, or else they may live through an application restart.

                    Personally I might consider skipping the RepositorySelector, since SmartGwt server does not use the LogManager to get a handle to its logger hierarchy, and if you want to use the same hierarchy, you can get your logger by calling new com.isomorphic.log.Logger(String category). I also would extend FileWatchDog to enable interruption of the thread when servlet context is destroyed.

                    Just my two cents. Thanks for sharing your code, which I think demonstrates a very useful approach.

                    Comment


                      #11
                      Any follow-ups on this?

                      Comment

                      Working...
                      X