ate 2005/03/16 08:38:04
Modified: portal/src/java/org/apache/jetspeed/engine Tag:
deployment-refactoring AbstractEngine.java
Added: portal/src/java/org/apache/jetspeed/util Tag:
deployment-refactoring IsolatedLog4JLogger.java
Log:
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
No revision
No revision
1.1.2.1 +244 -0
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/Attic/IsolatedLog4JLogger.java
No revision
No revision
1.14.2.2 +9 -4
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.2.1
retrieving revision 1.14.2.2
diff -u -r1.14.2.1 -r1.14.2.2
--- AbstractEngine.java 2 Mar 2005 02:46:28 -0000 1.14.2.1
+++ AbstractEngine.java 16 Mar 2005 16:38:04 -0000 1.14.2.2
@@ -36,8 +36,11 @@
import org.apache.jetspeed.pipeline.Pipeline;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.request.RequestContextComponent;
-import org.apache.log4j.LogManager;
+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;
@@ -124,8 +127,10 @@
Properties p = new Properties();
p.load(new FileInputStream(log4jFile));
p.setProperty(APPLICATION_ROOT_KEY,
context.getApplicationRoot());
- LogManager.resetConfiguration();
- 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]