ate 2005/03/23 14:50:44 Modified: portal/src/java/org/apache/jetspeed/engine AbstractEngine.java Added: portal/src/java commons-logging.properties portal/src/java/org/apache/jetspeed/util IsolatedLog4JLogger.java Log: Resolving http://issues.apache.org/jira/browse/JS2-210: Encapsulated Log4JLogging configuration to make it more independant of how different web/application servers provide commons-logging and Log4J jars. On JBoss, those are provided (and enforced) from a shared classloader, resulting in a very problematic logging configuration. The new IsolatedLog4JLogger handles this problem by ensuring Log4J logging is always done CurrentContextClassLoader relative. See the javadoc for a complete description. Revision Changes Path 1.2 +1 -0 jakarta-jetspeed-2/portal/src/java/commons-logging.properties 1.2 +244 -0 jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/IsolatedLog4JLogger.java 1.15 +9 -2 jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/engine/AbstractEngine.java Index: AbstractEngine.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/engine/AbstractEngine.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- AbstractEngine.java 5 Jan 2005 15:44:34 -0000 1.14 +++ AbstractEngine.java 23 Mar 2005 22:50:44 -0000 1.15 @@ -36,7 +36,11 @@ import org.apache.jetspeed.pipeline.Pipeline; import org.apache.jetspeed.request.RequestContext; import org.apache.jetspeed.request.RequestContextComponent; +import org.apache.jetspeed.util.IsolatedLog4JLogger; +import org.apache.log4j.Hierarchy; +import org.apache.log4j.Level; import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.spi.RootCategory; import org.apache.ojb.broker.util.ClassHelper; import org.apache.pluto.PortletContainer; import org.apache.pluto.PortletContainerException; @@ -123,7 +127,10 @@ Properties p = new Properties(); p.load(new FileInputStream(log4jFile)); p.setProperty(APPLICATION_ROOT_KEY, context.getApplicationRoot()); - PropertyConfigurator.configure(p); + Hierarchy h = new Hierarchy(new RootCategory(Level.INFO)); + new PropertyConfigurator().doConfigure(p,h); + IsolatedLog4JLogger.setHierarchy(h); + log.info("Configured log4j from " + log4jFile); log.info("Starting Jetspeed Engine ("+getClass().getName()+") at "+format.format(startTime));
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]