You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@excalibur.apache.org by cz...@apache.org on 2004/06/14 16:23:15 UTC

svn commit: rev 21208 - in excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger: . log4j

Author: cziegeler
Date: Mon Jun 14 07:23:13 2004
New Revision: 21208

Modified:
   excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/Log4JConfLoggerManager.java
   excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/log4j/Log4JConfAdapter.java
Log:
Add context values for property expansion

Modified: excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/Log4JConfLoggerManager.java
==============================================================================
--- excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/Log4JConfLoggerManager.java	(original)
+++ excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/Log4JConfLoggerManager.java	Mon Jun 14 07:23:13 2004
@@ -16,11 +16,15 @@
  */
 package org.apache.avalon.excalibur.logger;
 
+import org.apache.avalon.excalibur.logger.log4j.Log4JConfigurator;
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.configuration.ConfigurationUtil;
-import org.apache.log4j.xml.DOMConfigurator;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.log4j.LogManager;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -35,15 +39,25 @@
  */
 public class Log4JConfLoggerManager
     extends Log4JLoggerManager
-    implements Configurable
+    implements Configurable, Contextualizable
 {
+    private Context m_context;
+    
+
+    /* (non-Javadoc)
+     * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
+     */
+    public void contextualize(Context context) throws ContextException
+    {
+        m_context = context;
+    }
+    
     /**
      * Work around a weird compilation problem. Can not call
      * the constructor from fortress/ContextManager, get a
      * file org\apache\log4j\spi\LoggerRepository.class not found
      *         new Log4JConfLoggerManager( lmDefaultLoggerName, lmLoggerName );
      */
-
     public static Log4JConfLoggerManager newInstance( final String prefix,
             final String switchToCategory )
     {
@@ -75,6 +89,8 @@
         }
 
         document.appendChild( newElement );
-        DOMConfigurator.configure( newElement );
+        
+        Log4JConfigurator configurator = new Log4JConfigurator(m_context);
+        configurator.doConfigure( newElement, LogManager.getLoggerRepository());
     }
 }

Modified: excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/log4j/Log4JConfAdapter.java
==============================================================================
--- excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/log4j/Log4JConfAdapter.java	(original)
+++ excalibur/trunk/logger/src/java/org/apache/avalon/excalibur/logger/log4j/Log4JConfAdapter.java	Mon Jun 14 07:23:13 2004
@@ -20,10 +20,12 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.configuration.ConfigurationUtil;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.context.Contextualizable;
 import org.apache.log4j.Hierarchy;
 import org.apache.log4j.Level;
 import org.apache.log4j.spi.RootCategory;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -50,8 +52,20 @@
  * @version CVS $Revision: 1.4 $ $Date: 2004/03/10 13:54:51 $
  * @since 4.0
  */
-public class Log4JConfAdapter extends Log4JAdapter implements Configurable
+public class Log4JConfAdapter extends Log4JAdapter 
+implements Configurable, Contextualizable
 {
+    private Context m_context;
+    
+    
+    /* (non-Javadoc)
+     * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
+     */
+    public void contextualize(Context context) throws ContextException 
+    {
+        m_context = context;
+    }
+    
     /**
      * This constructor creates a completely independent
      * Log4J hierarchy. If you want to log to an existing
@@ -92,7 +106,7 @@
          * We want our own hierarchy to be configured, so we shall
          * be a bit more elaborate then just calling configure().
          */
-        final DOMConfigurator domConfigurator = new DOMConfigurator();
+        final Log4JConfigurator domConfigurator = new Log4JConfigurator( m_context );
         domConfigurator.doConfigure( newElement, m_hierarchy );
     }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: scm-unsubscribe@excalibur.apache.org
For additional commands, e-mail: scm-help@excalibur.apache.org