[jboss-dev-forums] [Design of POJO Server] - Re: JBossTS overriding commons-logging discovery mechanism

bstansberry@jboss.com do-not-reply at jboss.com
Mon Feb 4 10:01:26 EST 2008


No, no test case.  You can see the effect by starting the AS all config and then watching the server.log for a while after it's started.  Lots of this:

2008-02-03 10:34:12,166 DEBUG [org.jboss.cache.eviction.BaseEvictionAlgorithm] Recycle queue is empt
  | y
  | 2008-02-03 10:34:16,916 DEBUG [org.jboss.cache.eviction.BaseEvictionAlgorithm] process(): region: /
  | 2008-02-03 10:34:16,916 DEBUG [org.jboss.cache.eviction.BaseEvictionAlgorithm] processed 0 node even
  | ts in region: /

That output is being logged at TRACE by JBossCache but is coming out at DEBUG.

The *simple* problem isn't with the remapping of JBossTS's own logging discussed at http://www.jboss.com/index.html?module=bb&op=viewtopic&t=93949.  It's that the com.arjuna version of Log4JLogger still maps trace onto debug like this:


  | public void trace(Object message, Throwable t) {
  |        logger.log(FQCN, Priority.DEBUG, message, t );
  | }
  | 
  | public boolean isTraceEnabled() {
  |        return logger.isDebugEnabled();
  | }
  | 

The com.arjuna code probably came from an earlier version of commons-logging that still did that. Effect is that trace means debug for all commons-logging users in the AS.

That's easy enough to fix just by updating the com.arjuna Log4JLogger.

A harder problem is some of the other stuff the AS's forked version of Log4JLogger does. Whenever asked to create a log4j Logger instance, it uses the TCCL to load the class and thereafter uses reflection to invoke on it.  I guess that is to allow isolation of log4j subsystems between deployments.  (Scott can talk better to that; I believe he added it.) To get that functionality back in place, we'd either need to merge it into the com.arjuna version, or do something like you said where we swap out the com.arjuna version once the JBossTS code is done instantiating its loggers.  I don't know enough about JBossTS logging to know how practical or hacky the latter is.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4126197#4126197

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4126197



More information about the jboss-dev-forums mailing list