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]

Reply via email to