pglezen 01/06/03 23:20:57
Modified: src/java/org/apache/log4j PropertyConfigurator.java
Hierarchy.java
Log:
1. PropertyConfigurator - Added a few lines to
configureCategoryFactory to take advantage of the
PropertySetter class.
2. Hierarchy - Added a setter for the default category
factory so that Category.getInstance uses the
correct factory. The default category was changed
to non-static. This allows one to use different
factories for different hierarchies.
Revision Changes Path
1.26 +7 -4
jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java
Index: PropertyConfigurator.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- PropertyConfigurator.java 2001/05/31 16:55:19 1.25
+++ PropertyConfigurator.java 2001/06/04 06:20:56 1.26
@@ -87,11 +87,12 @@
protected Hashtable registry = new Hashtable(11);
protected CategoryFactory categoryFactory = new DefaultCategoryFactory();
- static final String CATEGORY_PREFIX = "log4j.category.";
- static final String ADDITIVITY_PREFIX = "log4j.additivity.";
+ static final String CATEGORY_PREFIX = "log4j.category.";
+ static final String FACTORY_PREFIX = "log4j.factory";
+ static final String ADDITIVITY_PREFIX = "log4j.additivity.";
static final String ROOT_CATEGORY_PREFIX = "log4j.rootCategory";
- static final String APPENDER_PREFIX = "log4j.appender.";
- static final String RENDERER_PREFIX = "log4j.renderer.";
+ static final String APPENDER_PREFIX = "log4j.appender.";
+ static final String RENDERER_PREFIX = "log4j.renderer.";
/** Key for specifying the {@link org.apache.log4j.spi.CategoryFactory
CategoryFactory}. Currently set to
@@ -459,6 +460,8 @@
OptionConverter.instantiateByClassName(factoryClassName,
CategoryFactory.class,
categoryFactory);
+ PropertySetter.setProperties(categoryFactory, props, FACTORY_PREFIX + ".");
+ Category.getDefaultHierarchy().setCategoryFactory(categoryFactory);
}
}
1.16 +13 -3 jakarta-log4j/src/java/org/apache/log4j/Hierarchy.java
Index: Hierarchy.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Hierarchy.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- Hierarchy.java 2001/05/20 11:01:13 1.15
+++ Hierarchy.java 2001/06/04 06:20:56 1.16
@@ -61,9 +61,7 @@
static final int DISABLE_OFF = -1;
static final int DISABLE_OVERRIDE = -2;
- static
- private
- CategoryFactory defaultFactory = new DefaultCategoryFactory();
+ private CategoryFactory defaultFactory;
Hashtable ht;
@@ -89,6 +87,7 @@
disable = DISABLE_OFF;
this.root.setHierarchy(this);
rendererMap = new RendererMap();
+ defaultFactory = new DefaultCategoryFactory();
}
/**
@@ -404,6 +403,17 @@
}
}
rendererMap.clear();
+ }
+
+ /**
+ Set the default CategoryFactory instance.
+
+ @since 1.1
+ */
+ public void setCategoryFactory(CategoryFactory factory)
+ {
+ if (factory != null)
+ defaultFactory = factory;
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]