ceki 2004/11/09 03:26:41
Modified: src/java/org/apache/log4j PropertyConfigurator.java
Log:
- The Appender.requiresLayout method is no longer needed.
This method was only used by PropertConfigrurator and not
DOMConfigurator nor JoranConfigurator. It was never strictly necessary
and case the layout is *optional* for a given appender type, it causes
unwarranted error messages.
This simplification will make it slightly easier to write appenders.
Revision Changes Path
1.67 +7 -4
logging-log4j/src/java/org/apache/log4j/PropertyConfigurator.java
Index: PropertyConfigurator.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/PropertyConfigurator.java,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- PropertyConfigurator.java 5 Aug 2004 19:25:51 -0000 1.66
+++ PropertyConfigurator.java 9 Nov 2004 11:26:41 -0000 1.67
@@ -648,10 +648,13 @@
appender.setName(appenderName);
if (appender instanceof OptionHandler) {
- if (appender.requiresLayout()) {
+ String layoutClassName = OptionConverter.findAndSubst(layoutPrefix,
props);
+ // if there are layout related directives, we process these now
+ if(layoutClassName != null) {
+ // Trim layoutClassName to avoid trailing spaces that cause problems.
Layout layout =
- (Layout) OptionConverter.instantiateByKey(
- props, layoutPrefix, Layout.class, null);
+ (Layout)
OptionConverter.instantiateByClassName(layoutClassName.trim(),
+ Layout.class, null);
if (layout != null) {
appender.setLayout(layout);
@@ -672,7 +675,7 @@
return appender;
}
-
+
public void activateOptions(Object obj) {
if (obj instanceof OptionHandler) {
((OptionHandler) obj).activateOptions();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]