You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2005/01/04 20:48:48 UTC
cvs commit: logging-log4j/src/java/org/apache/log4j/or RendererMap.java
ceki 2005/01/04 11:48:48
Modified: src/java/org/apache/log4j/or RendererMap.java
Log:
Log4j components now see their owning LR.
Revision Changes Path
1.14 +14 -18 logging-log4j/src/java/org/apache/log4j/or/RendererMap.java
Index: RendererMap.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/or/RendererMap.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- RendererMap.java 17 Nov 2004 17:41:36 -0000 1.13
+++ RendererMap.java 4 Jan 2005 19:48:48 -0000 1.14
@@ -16,10 +16,9 @@
package org.apache.log4j.or;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
import org.apache.log4j.helpers.Loader;
import org.apache.log4j.helpers.OptionConverter;
+import org.apache.log4j.spi.ComponentBase;
import org.apache.log4j.spi.RendererSupport;
import java.util.Hashtable;
@@ -30,7 +29,7 @@
@author Ceki Gülcü
@since version 1.0 */
-public class RendererMap {
+public class RendererMap extends ComponentBase {
static ObjectRenderer defaultRenderer = new DefaultRenderer();
Hashtable map;
@@ -39,27 +38,22 @@
}
/**
- * Gets a logger named after this class. Note that the instance of the
- * logger may change depending on the
- * {@link org.apache.log4j.spi.RepositorySelector}.
- * @return a context dependent Logger
- */
- private static Logger getLogger() {
- return LogManager.getLogger(OptionConverter.class);
- }
-
- /**
Add a renderer to a hierarchy passed as parameter.
*/
- public static void addRenderer(
- RendererSupport repository, String renderedClassName,
+ public void addRenderer(String renderedClassName,
String renderingClassName) {
getLogger().debug(
"Rendering class: [{}, Rendered class: [{}].", renderingClassName,
renderedClassName);
+
+ OptionConverter oc = new OptionConverter();
+ oc.setLoggerRepository(repository);
+
+
ObjectRenderer renderer =
- (ObjectRenderer) OptionConverter.instantiateByClassName(
- renderingClassName, ObjectRenderer.class, null);
+ (ObjectRenderer) oc.instantiateByClassName(
+ renderingClassName, ObjectRenderer.class, null);
+
if (renderer == null) {
getLogger().error(
"Could not instantiate renderer [" + renderingClassName + "].");
@@ -67,7 +61,9 @@
} else {
try {
Class renderedClass = Loader.loadClass(renderedClassName);
- repository.setRenderer(renderedClass, renderer);
+ if(repository != null && repository instanceof RendererSupport) {
+ ((RendererSupport)repository).setRenderer(renderedClass, renderer);
+ }
} catch (ClassNotFoundException e) {
getLogger().error("Could not find class [" + renderedClassName + "].", e);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org