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