As part of the fix for
JBTM-20, JBossTS instructs Jakarta Commons Logging to use com.arjuna.common.internal.util.logging.jakarta.Log4JLogger as its implementation of the JCL Log interface. This supersedes an alternate override of the default JCL behavior that JBoss AS had in place. The AS is using a special forked version of JCL 1.1.0 known as 1.1.0.jboss. The fork involves changing the org.apache.commons.logging.Log4JLogger class to better support use of separate log4j subsystems between different deployments.
We need to reconcile these two conflicting overrides of the default JCL behavior and make sure the goals of each are fulfilled. At the moment, I'm aware of two things the AS fork was doing that the com.arjuna version is not:
1) Support for trace level logging – the com.arjuna class seems to be based on older code and maps trace to debug.
2) Support for not binding of org.apache.log4j classes, using the TCCL to load the log4j classes when a Log4JLogger instance is created and using reflection to invoke upon them.
The AS fork isn't doing any of the i18n stuff that AIUI the JBossTS version does.
The source for the AS fork of JCL can be found at:
2) cvs -d:ext:firstname.lastname@example.org:/cvsroot/jboss co apache
CVS tag for the 1.1.0.jboss release is JBoss_Apache_Common_Logging_1_1_0