ceki        01/04/18 09:24:21

  Modified:    src/java/org/apache/log4j Makefile RollingFileAppender.java
  Added:       src/java/org/apache/log4j RollingFileAppenderBeanInfo.java
  Log:
  A convoluted but seemingly working attempt at resolving the setMaxFileSize problem.
  
  Revision  Changes    Path
  1.8       +1 -0      jakarta-log4j/src/java/org/apache/log4j/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Makefile,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Makefile  2001/03/28 16:30:24     1.7
  +++ Makefile  2001/04/18 16:24:15     1.8
  @@ -8,6 +8,7 @@
        PatternLayout.java\
        AsyncAppender.java\
        NDC.java\
  +     RollingFileAppenderBeanInfo.java\
        AppenderSkeleton.java\
        CategoryKey.java\
        ProvisionNode.java\
  
  
  
  1.10      +5 -5      jakarta-log4j/src/java/org/apache/log4j/RollingFileAppender.java
  
  Index: RollingFileAppender.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/RollingFileAppender.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- RollingFileAppender.java  2001/04/17 22:32:24     1.9
  +++ RollingFileAppender.java  2001/04/18 16:24:16     1.10
  @@ -153,14 +153,14 @@
       return maxBackupIndex;
     }
     
  -  /*
  +  /**
        Set the maximum size that the output file is allowed to reach
        before being rolled over to backup files.
      */
  -  //public
  -  //void setMaxFileSize(long maxFileSize) {
  -  //this.maxFileSize = maxFileSize;
  -  //}
  +  public
  +  void setMaxFileSize(long maxFileSize) {
  +    this.maxFileSize = maxFileSize;
  +  }
   
     /**
        Set the maximum size that the output file is allowed to reach
  
  
  
  1.1                  
jakarta-log4j/src/java/org/apache/log4j/RollingFileAppenderBeanInfo.java
  
  Index: RollingFileAppenderBeanInfo.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software
   * License version 1.1, a copy of which has been included with this
   * distribution in the LICENSE.APL file.  */
  
   
  
  package org.apache.log4j;
  
  import java.beans.*;
  import org.apache.log4j.helpers.LogLog;
  import java.lang.reflect.Method;
  
  public class RollingFileAppenderBeanInfo extends SimpleBeanInfo {
  
    private PropertyDescriptor[] props;
  
    public
    RollingFileAppenderBeanInfo() {
      Class clazz = RollingFileAppender.class;
      try {
        // the magic is here
        BeanInfo bi = Introspector.getBeanInfo(clazz,
                                             Introspector.IGNORE_ALL_BEANINFO);
  
        props = bi.getPropertyDescriptors();
        if(props != null) {
        for(int i = 0; i < props.length; i++) {
          if(props[i].getName().equals("maxFileSize")) {
            Method m = clazz.getMethod("setMaxFileSize", 
                                       new Class[] {String.class});
            props[i] = new PropertyDescriptor("maxFileSize", null, m);
          }
        }
        }
        // flush the bean info because getPropertyDescriptors() will now return
        // different properties
        Introspector.flushFromCaches(RollingFileAppender.class);
      } catch(IntrospectionException e) {
        LogLog.error("Could not inspect RollingFileAppender.", e);
      } catch(NoSuchMethodException e) {
        LogLog.error("Could find setter method for RollingFileAppender.", e);
      }
    }
  
    public
    PropertyDescriptor[] getPropertyDescriptors() {
      return props;
    }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to