You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-cvs@jakarta.apache.org by an...@apache.org on 2001/03/19 13:33:15 UTC
cvs commit: jakarta-log4j/org/apache/log4j/xml DOMConfigurator.java
anders 01/03/19 04:33:15
Modified: org/apache/log4j PropertyConfigurator.java
org/apache/log4j/xml DOMConfigurator.java
Log:
Updated to use JavaBeans based config/PropertySetter.
Revision Changes Path
1.17 +9 -2 jakarta-log4j/org/apache/log4j/PropertyConfigurator.java
Index: PropertyConfigurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/PropertyConfigurator.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- PropertyConfigurator.java 2001/02/21 22:28:14 1.16
+++ PropertyConfigurator.java 2001/03/19 12:33:15 1.17
@@ -15,6 +15,8 @@
import org.apache.log4j.Category;
import org.apache.log4j.Priority;
import org.apache.log4j.DefaultCategoryFactory;
+import org.apache.log4j.config.PropertySetter;
+import org.apache.log4j.config.PropertySetterException;
import org.apache.log4j.spi.OptionHandler;
import org.apache.log4j.spi.Configurator;
import org.apache.log4j.spi.CategoryFactory;
@@ -74,6 +76,7 @@
@author Ceki Gülcü
+ @author Anders Kristensen
@since 0.8.1 */
public class PropertyConfigurator extends BasicConfigurator
implements Configurator {
@@ -437,6 +440,7 @@
}
}
+ /*
void configureOptionHandler(OptionHandler oh, String prefix,
Properties props) {
String[] options = oh.getOptionStrings();
@@ -456,6 +460,7 @@
}
oh.activateOptions();
}
+ */
void configureRootCategory(Properties props, Hierarchy hierarchy) {
@@ -595,11 +600,13 @@
if(layout != null) {
appender.setLayout(layout);
LogLog.debug("Parsing layout options for \"" + appenderName +"\".");
- configureOptionHandler(layout, layoutPrefix + ".", props);
+ //configureOptionHandler(layout, layoutPrefix + ".", props);
+ PropertySetter.setProperties(layout, props, layoutPrefix + ".");
LogLog.debug("End of parsing for \"" + appenderName +"\".");
}
}
- configureOptionHandler((OptionHandler) appender, prefix + ".", props);
+ //configureOptionHandler((OptionHandler) appender, prefix + ".", props);
+ PropertySetter.setProperties(appender, props, prefix + ".");
LogLog.debug("Parsed \"" + appenderName +"\" options.");
}
registryPut(appender);
1.12 +29 -35 jakarta-log4j/org/apache/log4j/xml/DOMConfigurator.java
Index: DOMConfigurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/xml/DOMConfigurator.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- DOMConfigurator.java 2001/01/22 22:11:37 1.11
+++ DOMConfigurator.java 2001/03/19 12:33:15 1.12
@@ -25,6 +25,7 @@
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.Filter;
+import org.apache.log4j.config.PropertySetter;
import org.apache.log4j.helpers.OptionConverter;
import org.apache.log4j.helpers.FileWatchdog;
import org.xml.sax.InputSource;
@@ -51,6 +52,7 @@
@author <a href=mailto:cstaylor@pacbell.net>Christopher Taylor</a>
@author Ceki Gülcü
+ @author Anders Kristensen
@since 0.8.3 */
public class DOMConfigurator extends BasicConfigurator implements Configurator {
@@ -147,6 +149,7 @@
try {
Object instance = Class.forName(className).newInstance();
Appender appender = (Appender)instance;
+ PropertySetter propSetter = new PropertySetter(appender);
appender.setName(subst(appenderElement.getAttribute(NAME_ATTR)));
@@ -162,9 +165,7 @@
// Parse appender parameters
if (currentElement.getTagName().equals(PARAM_TAG)) {
- if(appender instanceof OptionHandler) {
- parseParameters(currentElement, (OptionHandler) appender);
- }
+ setParameter(currentElement, propSetter);
}
// Set appender layout
else if (currentElement.getTagName().equals(LAYOUT_TAG)) {
@@ -191,10 +192,8 @@
}
}
}
- }
- if(appender instanceof OptionHandler) {
- ((OptionHandler) appender).activateOptions();
}
+ propSetter.activate();
return appender;
}
/* Yes, it's ugly. But all of these exceptions point to the same
@@ -215,7 +214,9 @@
subst(element.getAttribute(CLASS_ATTR)),
org.apache.log4j.spi.ErrorHandler.class,
null);
+
if(eh != null) {
+ PropertySetter propSetter = new PropertySetter(eh);
NodeList children = element.getChildNodes();
final int length = children.getLength();
@@ -225,28 +226,16 @@
Element currentElement = (Element) currentNode;
String tagName = currentElement.getTagName();
if(tagName.equals(PARAM_TAG)) {
- parseParameters(currentElement, eh);
+ setParameter(currentElement, propSetter);
}
}
}
+ propSetter.activate();
appender.setErrorHandler(eh);
}
}
/**
- Used internally to parse an <code>param</code> element.
- */
- protected
- void parseParameters(Element elem, OptionHandler oh) {
- String name = subst(elem.getAttribute(NAME_ATTR));
- String value = subst(elem.getAttribute(VALUE_ATTR));
- LogLog.debug("Handling parameter \""+name+ "="+value+'\"');
- if(oh instanceof OptionHandler && value != null) {
- oh.setOption(name, OptionConverter.convertSpecialChars(value));
- }
- }
-
- /**
Used internally to parse a filter element.
*/
protected
@@ -256,6 +245,7 @@
Filter.class, null);
if(filter != null) {
+ PropertySetter propSetter = new PropertySetter(filter);
NodeList children = element.getChildNodes();
final int length = children.getLength();
@@ -265,10 +255,11 @@
Element currentElement = (Element) currentNode;
String tagName = currentElement.getTagName();
if(tagName.equals(PARAM_TAG)) {
- parseParameters(currentElement, filter);
+ setParameter(currentElement, propSetter);
}
}
}
+ propSetter.activate();
appender.addFilter(filter);
}
}
@@ -338,7 +329,9 @@
protected
void parseChildrenOfCategoryElement(Element catElement,
Category cat, boolean isRoot) {
-
+
+ PropertySetter propSetter = new PropertySetter(cat);
+
// Remove all existing appenders from cat. They will be
// reconstructed if need be.
cat.removeAllAppenders();
@@ -369,14 +362,11 @@
} else if(tagName.equals(PRIORITY_TAG)) {
parsePriority(currentElement, cat, isRoot);
} else if(tagName.equals(PARAM_TAG)) {
- if(cat instanceof OptionHandler) {
- OptionHandler oh = (OptionHandler) cat;
- parseParameters(currentElement, oh);
- oh.activateOptions();
- }
+ setParameter(currentElement, propSetter);
}
}
}
+ propSetter.activate();
}
/**
@@ -389,6 +379,7 @@
try {
Object instance = Class.forName(className).newInstance();
Layout layout = (Layout)instance;
+ PropertySetter propSetter = new PropertySetter(layout);
NodeList params = layout_element.getChildNodes();
final int length = params.getLength();
@@ -399,13 +390,12 @@
Element currentElement = (Element) currentNode;
String tagName = currentElement.getTagName();
if(tagName.equals(PARAM_TAG)) {
- parseParameters(currentElement, layout);
+ setParameter(currentElement, propSetter);
}
}
}
-
- /* Now make those options take effect */
- layout.activateOptions();
+
+ propSetter.activate();
return layout;
}
catch (Exception oops) {
@@ -463,7 +453,14 @@
}
}
}
- LogLog.debug(catName +" priority set to " +cat.getPriority());
+ LogLog.debug(catName + " priority set to " + cat.getPriority());
+ }
+
+ protected
+ void setParameter(Element elem, PropertySetter propSetter) {
+ String name = subst(elem.getAttribute(NAME_ATTR));
+ String value = subst(elem.getAttribute(VALUE_ATTR));
+ propSetter.setProperty(name, OptionConverter.convertSpecialChars(value));
}
@@ -493,8 +490,6 @@
configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY);
}
-
-
/**
Read the configuration file <code>configFilename</code> if it
exists. Moreover, a thread will be created that will periodically
@@ -531,7 +526,6 @@
LogLog.error("Could not open ["+url+"].", e);
}
}
-
/**
Configure log4j by reading in a log4j.dtd compliant XML
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-cvs-help@jakarta.apache.org