ceki        2003/03/18 13:41:19

  Modified:    src/java/org/apache/log4j/spi LoggerEventListener.java
                        LoggerRepository.java LocationInfo.java Filter.java
                        HierarchyEventListener.java LoggerFactory.java
  Log:
  - Made code confirms to checkstyle 3.0.
  - Jalopy formatting.
  
  Revision  Changes    Path
  1.3       +55 -13    
jakarta-log4j/src/java/org/apache/log4j/spi/LoggerEventListener.java
  
  Index: LoggerEventListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggerEventListener.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LoggerEventListener.java  22 Nov 2002 11:03:29 -0000      1.2
  +++ LoggerEventListener.java  18 Mar 2003 21:41:18 -0000      1.3
  @@ -1,50 +1,92 @@
   /*
  - * Copyright (C) The Apache Software Foundation. All rights reserved.
  + * ============================================================================
  + *                   The Apache Software License, Version 1.1
  + * ============================================================================
    *
  - * 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.txt file.  */
  + *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without modifica-
  + * tion, are permitted provided that the following conditions are met:
  + *
  + * 1. Redistributions of  source code must  retain the above copyright  notice,
  + *    this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright notice,
  + *    this list of conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if any, must
  + *    include  the following  acknowledgment:  "This product includes  software
  + *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *    Alternately, this  acknowledgment may  appear in the software itself,  if
  + *    and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
  + *    endorse  or promote  products derived  from this  software without  prior
  + *    written permission. For written permission, please contact
  + *    [EMAIL PROTECTED]
  + *
  + * 5. Products  derived from this software may not  be called "Apache", nor may
  + *    "Apache" appear  in their name,  without prior written permission  of the
  + *    Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * This software  consists of voluntary contributions made  by many individuals
  + * on  behalf of the Apache Software  Foundation.  For more  information on the
  + * Apache Software Foundation, please see <http://www.apache.org/>.
  + *
  + */
   
   package org.apache.log4j.spi;
   
  -import org.apache.log4j.Logger;
   import org.apache.log4j.Appender;
  +import org.apache.log4j.Logger;
  +
   
   /**
     Interface used to listen for [EMAIL PROTECTED] Logger} related events such as
     add/remove appender or changing levels.  Clients register an instance of
     the interface and the instance is called back when the various events occur.
  -  
  +
     [EMAIL PROTECTED] LoggerRepository} provides methods for adding and removing
     LoggerEventListener instances.
  -  
  +
     When implementing the methods of this interface, it is useful to remember
     that the Logger can access the repository using its getRepository()
     method.
  -  
  +
     @author Ceki G&uuml;lc&uuml;
     @author Mark Womack
     @since 1.3
   */
   public interface LoggerEventListener {
  -  
     /**
       Called when an appender is added to the logger.
  -    
  +
       @param logger The logger to which the appender was added.
       @param appender The appender added to the logger. */
     public void appenderAddedEvent(Logger logger, Appender appender);
  -  
  +
     /**
       Called when an appender is removed from the logger.
  -    
  +
       @param logger The logger from which the appender was removed.
       @param appender The appender removed from the logger. */
     public void appenderRemovedEvent(Logger logger, Appender appender);
   
     /**
       Called when level changed on the logger.
  -    
  +
       @param logger The logger that changed levels. */
     public void levelChangedEvent(Logger logger);
   }
  
  
  
  1.12      +60 -19    
jakarta-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java
  
  Index: LoggerRepository.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- LoggerRepository.java     22 Nov 2002 11:03:29 -0000      1.11
  +++ LoggerRepository.java     18 Mar 2003 21:41:18 -0000      1.12
  @@ -1,15 +1,59 @@
   /*
  - * Copyright (C) The Apache Software Foundation. All rights reserved.
  + * ============================================================================
  + *                   The Apache Software License, Version 1.1
  + * ============================================================================
    *
  - * 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.txt file.  */
  + *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without modifica-
  + * tion, are permitted provided that the following conditions are met:
  + *
  + * 1. Redistributions of  source code must  retain the above copyright  notice,
  + *    this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright notice,
  + *    this list of conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if any, must
  + *    include  the following  acknowledgment:  "This product includes  software
  + *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *    Alternately, this  acknowledgment may  appear in the software itself,  if
  + *    and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
  + *    endorse  or promote  products derived  from this  software without  prior
  + *    written permission. For written permission, please contact
  + *    [EMAIL PROTECTED]
  + *
  + * 5. Products  derived from this software may not  be called "Apache", nor may
  + *    "Apache" appear  in their name,  without prior written permission  of the
  + *    Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * This software  consists of voluntary contributions made  by many individuals
  + * on  behalf of the Apache Software  Foundation.  For more  information on the
  + * Apache Software Foundation, please see <http://www.apache.org/>.
  + *
  + */
   
   package org.apache.log4j.spi;
   
   import org.apache.log4j.*;
  +
   import java.util.Enumeration;
   
  +
   /**
      A <code>LoggerRepository</code> is used to create and retrieve
      <code>Loggers</code>. The relation between loggers in a repository
  @@ -24,14 +68,13 @@
      @author Mark Womack
      @since 1.2 */
   public interface LoggerRepository {
  -
     /**
  -    Add a [EMAIL PROTECTED] LoggerRepositoryEventListener} to the repository. The 
  -    listener will be called when repository events occur. 
  +    Add a [EMAIL PROTECTED] LoggerRepositoryEventListener} to the repository. The
  +    listener will be called when repository events occur.
       @since 1.3*/
     public void addLoggerRepositoryEventListener(
       LoggerRepositoryEventListener listener);
  -    
  +
     /**
       Remove a [EMAIL PROTECTED] LoggerRepositoryEventListener} from the repository.
       @since 1.3*/
  @@ -39,11 +82,11 @@
       LoggerRepositoryEventListener listener);
   
     /**
  -    Add a [EMAIL PROTECTED] LoggerEventListener} to the repository. The  listener 
  +    Add a [EMAIL PROTECTED] LoggerEventListener} to the repository. The  listener
       will be called when repository events occur.
       @since 1.3*/
     public void addLoggerEventListener(LoggerEventListener listener);
  -    
  +
     /**
       Remove a [EMAIL PROTECTED] LoggerEventListener} from the repository.
       @since 1.3*/
  @@ -94,33 +137,31 @@
     /**
       Requests that a appender added event be sent to any registered
       [EMAIL PROTECTED] LoggerEventListener}.
  -    @param logger The logger to which the appender was added. 
  +    @param logger The logger to which the appender was added.
       @param appender The appender added to the logger.
       @since 1.3*/
  -  public abstract void fireAddAppenderEvent(Logger logger,
  -                                         Appender appender);
  +  public abstract void fireAddAppenderEvent(Logger logger, Appender appender);
   
     /**
       Requests that a appender removed event be sent to any registered
       [EMAIL PROTECTED] LoggerEventListener}.
  -    @param logger The logger from which the appender was removed. 
  +    @param logger The logger from which the appender was removed.
       @param appender The appender removed from the logger.
       @since 1.3*/
  -  public abstract void fireRemoveAppenderEvent(Logger logger,
  -                                            Appender appender);
  +  public abstract void fireRemoveAppenderEvent(
  +    Logger logger, Appender appender);
   
     /**
       Requests that a level changed event be sent to any registered
  -    [EMAIL PROTECTED] LoggerEventListener}. 
  +    [EMAIL PROTECTED] LoggerEventListener}.
       @param logger The logger which changed levels.
       @since 1.3*/
     public abstract void fireLevelChangedEvent(Logger logger);
   
     /**
       Requests that a configuration changed event be sent to any registered
  -    [EMAIL PROTECTED] LoggerRepositoryEventListener}. 
  +    [EMAIL PROTECTED] LoggerRepositoryEventListener}.
       @param logger The logger which changed levels.
       @since 1.3*/
     public abstract void fireConfigurationChangedEvent();
  -   
   }
  
  
  
  1.13      +240 -162  jakarta-log4j/src/java/org/apache/log4j/spi/LocationInfo.java
  
  Index: LocationInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LocationInfo.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- LocationInfo.java 24 Apr 2002 01:16:11 -0000      1.12
  +++ LocationInfo.java 18 Mar 2003 21:41:18 -0000      1.13
  @@ -1,18 +1,62 @@
   /*
  - * Copyright (C) The Apache Software Foundation. All rights reserved.
  + * ============================================================================
  + *                   The Apache Software License, Version 1.1
  + * ============================================================================
    *
  - * 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.txt file.  */
  + *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without modifica-
  + * tion, are permitted provided that the following conditions are met:
  + *
  + * 1. Redistributions of  source code must  retain the above copyright  notice,
  + *    this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright notice,
  + *    this list of conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if any, must
  + *    include  the following  acknowledgment:  "This product includes  software
  + *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *    Alternately, this  acknowledgment may  appear in the software itself,  if
  + *    and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
  + *    endorse  or promote  products derived  from this  software without  prior
  + *    written permission. For written permission, please contact
  + *    [EMAIL PROTECTED]
  + *
  + * 5. Products  derived from this software may not  be called "Apache", nor may
  + *    "Apache" appear  in their name,  without prior written permission  of the
  + *    Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * This software  consists of voluntary contributions made  by many individuals
  + * on  behalf of the Apache Software  Foundation.  For more  information on the
  + * Apache Software Foundation, please see <http://www.apache.org/>.
  + *
  + */
   
  -// Contributors: Mathias Rupprecht <[EMAIL PROTECTED]>
   
  +// Contributors: Mathias Rupprecht <[EMAIL PROTECTED]>
   package org.apache.log4j.spi;
   
  -import java.io.StringWriter;
  -import java.io.PrintWriter;
  -import org.apache.log4j.helpers.LogLog;
   import org.apache.log4j.Layout;
  +import org.apache.log4j.helpers.LogLog;
  +
  +import java.io.PrintWriter;
  +import java.io.StringWriter;
  +
   
   /**
      The internal representation of caller location information.
  @@ -20,53 +64,55 @@
      @since 0.8.3
   */
   public class LocationInfo implements java.io.Serializable {
  +  private static StringWriter sw = new StringWriter();
  +  private static PrintWriter pw = new PrintWriter(sw);
  +
  +  /**
  +     When location information is not available the constant
  +     <code>NA</code> is returned. Current value of this string
  +     constant is <b>?</b>.  */
  +  public static final String NA = "?";
  +  static final long serialVersionUID = -1325822038990805636L;
  +
  +  // Check if we are running in IBM's visual age.
  +  static boolean inVisualAge = false;
  +
  +  static {
  +    try {
  +      Class dummy = Class.forName("com.ibm.uvm.tools.DebugSupport");
  +      inVisualAge = true;
  +      LogLog.debug("Detected IBM VisualAge environment.");
  +    } catch (Throwable e) {
  +      ; // nothing to do
  +    }
  +  }
   
     /**
        Caller's line number.
     */
     transient String lineNumber;
  +
     /**
        Caller's file name.
     */
     transient String fileName;
  +
     /**
        Caller's fully qualified class name.
     */
     transient String className;
  +
     /**
        Caller's method name.
     */
     transient String methodName;
  +
     /**
        All available caller information, in the format
        <code>fully.qualified.classname.of.caller.methodName(Filename.java:line)</code>
       */
     public String fullInfo;
   
  -  private static StringWriter sw = new StringWriter();
  -  private static PrintWriter pw = new PrintWriter(sw);
  -
  -  /**
  -     When location information is not available the constant
  -     <code>NA</code> is returned. Current value of this string
  -     constant is <b>?</b>.  */
  -  public final static String NA = "?";
  -
  -  static final long serialVersionUID = -1325822038990805636L;
  -
  -
  -  // Check if we are running in IBM's visual age.
  -  static boolean inVisualAge = false;
  -  static {
  -    try {
  -      Class dummy = Class.forName("com.ibm.uvm.tools.DebugSupport");
  -      inVisualAge = true;
  -      LogLog.debug("Detected IBM VisualAge environment.");
  -    } catch(Throwable e) {
  -      // nothing to do
  -    }
  -  }
  -
     /**
        Instantiate location information based on a Throwable. We
        expect the Throwable <code>t</code>, to be in the format
  @@ -79,157 +125,189 @@
           at org.apache.log4j.Category.callAppenders(Category.java:131)
           at org.apache.log4j.Category.log(Category.java:512)
           at callers.fully.qualified.className.methodName(FileName.java:74)
  -     ...
  +        ...
          </pre>
   
          <p>However, we can also deal with JIT compilers that "lose" the
          location information, especially between the parentheses.
   
       */
  -    public LocationInfo(Throwable t, String fqnOfCallingClass) {
  -      if(t == null)
  -     return;
  -
  -      String s;
  -      // Protect against multiple access to sw.
  -      synchronized(sw) {
  -     t.printStackTrace(pw);
  -     s = sw.toString();
  -     sw.getBuffer().setLength(0);
  -      }
  -      //System.out.println("s is ["+s+"].");
  -      int ibegin, iend;
  +  public LocationInfo(Throwable t, String fqnOfCallingClass) {
  +    if (t == null) {
  +      return;
  +    }
  +
  +    String s;
  +
  +    // Protect against multiple access to sw.
  +    synchronized (sw) {
  +      t.printStackTrace(pw);
  +      s = sw.toString();
  +      sw.getBuffer().setLength(0);
  +    }
  +
  +    //System.out.println("s is ["+s+"].");
  +    int ibegin;
  +
  +    //System.out.println("s is ["+s+"].");
  +    int iend;
  +
  +    // Given the current structure of the package, the line
  +    // containing "org.apache.log4j.Category." should be printed just
  +    // before the caller.
  +    // This method of searching may not be fastest but it's safer
  +    // than counting the stack depth which is not guaranteed to be
  +    // constant across JVM implementations.
  +    ibegin = s.lastIndexOf(fqnOfCallingClass);
   
  -      // Given the current structure of the package, the line
  -      // containing "org.apache.log4j.Category." should be printed just
  -      // before the caller.
  -
  -      // This method of searching may not be fastest but it's safer
  -      // than counting the stack depth which is not guaranteed to be
  -      // constant across JVM implementations.
  -      ibegin = s.lastIndexOf(fqnOfCallingClass);
  -      if(ibegin == -1)
  -     return;
  -
  -
  -      ibegin = s.indexOf(Layout.LINE_SEP, ibegin);
  -      if(ibegin == -1)
  -     return;
  -      ibegin+= Layout.LINE_SEP_LEN;
  -
  -      // determine end of line
  -      iend = s.indexOf(Layout.LINE_SEP, ibegin);
  -      if(iend == -1)
  -     return;
  -
  -      // VA has a different stack trace format which doesn't
  -      // need to skip the inital 'at'
  -      if(!inVisualAge) {
  -     // back up to first blank character
  -     ibegin = s.lastIndexOf("at ", iend);
  -     if(ibegin == -1)
  -       return;
  -     // Add 3 to skip "at ";
  -     ibegin += 3;
  +    if (ibegin == -1) {
  +      return;
  +    }
  +
  +    ibegin = s.indexOf(Layout.LINE_SEP, ibegin);
  +
  +    if (ibegin == -1) {
  +      return;
  +    }
  +
  +    ibegin += Layout.LINE_SEP_LEN;
  +
  +    // determine end of line
  +    iend = s.indexOf(Layout.LINE_SEP, ibegin);
  +
  +    if (iend == -1) {
  +      return;
  +    }
  +
  +    // VA has a different stack trace format which doesn't
  +    // need to skip the inital 'at'
  +    if (!inVisualAge) {
  +      // back up to first blank character
  +      ibegin = s.lastIndexOf("at ", iend);
  +
  +      if (ibegin == -1) {
  +        return;
         }
  -      // everything between is the requested stack item
  -      this.fullInfo = s.substring(ibegin, iend);
  +
  +      // Add 3 to skip "at ";
  +      ibegin += 3;
       }
   
  -    /**
  -       Return the fully qualified class name of the caller making the
  -       logging request.
  -    */
  -    public
  -    String getClassName() {
  -      if(fullInfo == null) return NA;
  -      if(className == null) {
  -     // Starting the search from '(' is safer because there is
  -     // potentially a dot between the parentheses.
  -     int iend = fullInfo.lastIndexOf('(');
  -     if(iend == -1)
  -       className = NA;
  -     else {
  -       iend =fullInfo.lastIndexOf('.', iend);
  -
  -       // This is because a stack trace in VisualAge looks like:
  -
  -          //java.lang.RuntimeException
  -       //  java.lang.Throwable()
  -       //  java.lang.Exception()
  -       //  java.lang.RuntimeException()
  -       //  void test.test.B.print()
  -       //  void test.test.A.printIndirect()
  -       //  void test.test.Run.main(java.lang.String [])
  -          int ibegin = 0;
  -       if (inVisualAge) {
  -         ibegin = fullInfo.lastIndexOf(' ', iend)+1;
  -          }
  -
  -       if(iend == -1)
  -         className = NA;
  -       else
  -         className = this.fullInfo.substring(ibegin, iend);
  -     }
  +    // everything between is the requested stack item
  +    this.fullInfo = s.substring(ibegin, iend);
  +  }
  +
  +  /**
  +     Return the fully qualified class name of the caller making the
  +     logging request.
  +  */
  +  public String getClassName() {
  +    if (fullInfo == null) {
  +      return NA;
  +    }
  +
  +    if (className == null) {
  +      // Starting the search from '(' is safer because there is
  +      // potentially a dot between the parentheses.
  +      int iend = fullInfo.lastIndexOf('(');
  +
  +      if (iend == -1) {
  +        className = NA;
  +      } else {
  +        iend = fullInfo.lastIndexOf('.', iend);
  +
  +        // This is because a stack trace in VisualAge looks like:
  +        //java.lang.RuntimeException
  +        //  java.lang.Throwable()
  +        //  java.lang.Exception()
  +        //  java.lang.RuntimeException()
  +        //  void test.test.B.print()
  +        //  void test.test.A.printIndirect()
  +        //  void test.test.Run.main(java.lang.String [])
  +        int ibegin = 0;
  +
  +        if (inVisualAge) {
  +          ibegin = fullInfo.lastIndexOf(' ', iend) + 1;
  +        }
  +
  +        if (iend == -1) {
  +          className = NA;
  +        } else {
  +          className = this.fullInfo.substring(ibegin, iend);
  +        }
         }
  -      return className;
       }
   
  -    /**
  -       Return the file name of the caller.
  +    return className;
  +  }
   
  -       <p>This information is not always available.
  -    */
  -    public
  -    String getFileName() {
  -      if(fullInfo == null) return NA;
  -
  -      if(fileName == null) {
  -     int iend = fullInfo.lastIndexOf(':');
  -     if(iend == -1)
  -       fileName = NA;
  -     else {
  -       int ibegin = fullInfo.lastIndexOf('(', iend - 1);
  -       fileName = this.fullInfo.substring(ibegin + 1, iend);
  -     }
  +  /**
  +     Return the file name of the caller.
  +
  +     <p>This information is not always available.
  +  */
  +  public String getFileName() {
  +    if (fullInfo == null) {
  +      return NA;
  +    }
  +
  +    if (fileName == null) {
  +      int iend = fullInfo.lastIndexOf(':');
  +
  +      if (iend == -1) {
  +        fileName = NA;
  +      } else {
  +        int ibegin = fullInfo.lastIndexOf('(', iend - 1);
  +        fileName = this.fullInfo.substring(ibegin + 1, iend);
         }
  -      return fileName;
       }
   
  -    /**
  -       Returns the line number of the caller.
  +    return fileName;
  +  }
   
  -       <p>This information is not always available.
  -    */
  -    public
  -    String getLineNumber() {
  -      if(fullInfo == null) return NA;
  -
  -      if(lineNumber == null) {
  -     int iend = fullInfo.lastIndexOf(')');
  -     int ibegin = fullInfo.lastIndexOf(':', iend -1);
  -     if(ibegin == -1)
  -       lineNumber = NA;
  -     else
  -       lineNumber = this.fullInfo.substring(ibegin + 1, iend);
  +  /**
  +     Returns the line number of the caller.
  +
  +     <p>This information is not always available.
  +  */
  +  public String getLineNumber() {
  +    if (fullInfo == null) {
  +      return NA;
  +    }
  +
  +    if (lineNumber == null) {
  +      int iend = fullInfo.lastIndexOf(')');
  +      int ibegin = fullInfo.lastIndexOf(':', iend - 1);
  +
  +      if (ibegin == -1) {
  +        lineNumber = NA;
  +      } else {
  +        lineNumber = this.fullInfo.substring(ibegin + 1, iend);
         }
  -      return lineNumber;
       }
   
  -    /**
  -       Returns the method name of the caller.
  -    */
  -    public
  -    String getMethodName() {
  -      if(fullInfo == null) return NA;
  -      if(methodName == null) {
  -     int iend = fullInfo.lastIndexOf('(');
  -     int ibegin = fullInfo.lastIndexOf('.', iend);
  -     if(ibegin == -1)
  -       methodName = NA;
  -     else
  -       methodName = this.fullInfo.substring(ibegin + 1, iend);
  +    return lineNumber;
  +  }
  +
  +  /**
  +     Returns the method name of the caller.
  +  */
  +  public String getMethodName() {
  +    if (fullInfo == null) {
  +      return NA;
  +    }
  +
  +    if (methodName == null) {
  +      int iend = fullInfo.lastIndexOf('(');
  +      int ibegin = fullInfo.lastIndexOf('.', iend);
  +
  +      if (ibegin == -1) {
  +        methodName = NA;
  +      } else {
  +        methodName = this.fullInfo.substring(ibegin + 1, iend);
         }
  -      return methodName;
       }
  +
  +    return methodName;
  +  }
   }
  
  
  
  1.5       +73 -25    jakarta-log4j/src/java/org/apache/log4j/spi/Filter.java
  
  Index: Filter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/Filter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Filter.java       5 Jul 2001 19:07:19 -0000       1.4
  +++ Filter.java       18 Mar 2003 21:41:19 -0000      1.5
  @@ -1,9 +1,51 @@
   /*
  - * Copyright (C) The Apache Software Foundation. All rights reserved.
  + * ============================================================================
  + *                   The Apache Software License, Version 1.1
  + * ============================================================================
    *
  - * 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.txt file.  */
  + *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without modifica-
  + * tion, are permitted provided that the following conditions are met:
  + *
  + * 1. Redistributions of  source code must  retain the above copyright  notice,
  + *    this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright notice,
  + *    this list of conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if any, must
  + *    include  the following  acknowledgment:  "This product includes  software
  + *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *    Alternately, this  acknowledgment may  appear in the software itself,  if
  + *    and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
  + *    endorse  or promote  products derived  from this  software without  prior
  + *    written permission. For written permission, please contact
  + *    [EMAIL PROTECTED]
  + *
  + * 5. Products  derived from this software may not  be called "Apache", nor may
  + *    "Apache" appear  in their name,  without prior written permission  of the
  + *    Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * This software  consists of voluntary contributions made  by many individuals
  + * on  behalf of the Apache Software  Foundation.  For more  information on the
  + * Apache Software Foundation, please see <http://www.apache.org/>.
  + *
  + */
   
   package org.apache.log4j.spi;
   
  @@ -29,7 +71,7 @@
   
      <p>If the value [EMAIL PROTECTED] #DENY} is returned, then the log event is
      dropped immediately without consulting with the remaining
  -   filters. 
  +   filters.
   
      <p>If the value [EMAIL PROTECTED] #NEUTRAL} is returned, then the next filter
      in the chain is consulted. If there are no more filters in the
  @@ -37,10 +79,10 @@
      filters, the default behaviour is to log all logging events.
   
      <p>If the value [EMAIL PROTECTED] #ACCEPT} is returned, then the log
  -   event is logged without consulting the remaining filters. 
  +   event is logged without consulting the remaining filters.
   
      <p>The philosophy of log4j filters is largely inspired from the
  -   Linux ipchains. 
  +   Linux ipchains.
   
      <p>Note that filtering is only supported by the [EMAIL PROTECTED]
      org.apache.log4j.xml.DOMConfigurator DOMConfigurator}. The [EMAIL PROTECTED]
  @@ -50,17 +92,11 @@
      @author Ceki G&uuml;lc&uuml;
      @since 0.9.0 */
   public abstract class Filter implements OptionHandler {
  -
  -  /**
  -     Points to the next filter in the filter chain.
  -   */
  -  public Filter next;
  -
     /**
        The log event must be dropped immediately without consulting
        with the remaining filters, if any, in the chain.  */
  -  public static final int DENY    = -1;
  -  
  +  public static final int DENY = -1;
  +
     /**
        This filter is neutral with respect to the log event. The
        remaining filters, if any, should be consulted for a final decision.
  @@ -70,20 +106,21 @@
     /**
        The log event must be logged immediately without consulting with
        the remaining filters, if any, in the chain.  */
  -  public static final int ACCEPT  = 1;
  +  public static final int ACCEPT = 1;
   
  +  /**
  +     Points to the next filter in the filter chain.
  +   */
  +  private Filter next;
   
     /**
        Usually filters options become active when set. We provide a
        default do-nothing implementation for convenience.
     */
  -  public
  -  void activateOptions() {
  +  public void activateOptions() {
     }
   
  -
  -
  -  /**     
  +  /**
        <p>If the decision is <code>DENY</code>, then the event will be
        dropped. If the decision is <code>NEUTRAL</code>, then the next
        filter, if any, will be invoked. If the decision is ACCEPT then
  @@ -92,8 +129,19 @@
   
        @param event The LoggingEvent to decide upon.
        @param decision The decision of the filter.  */
  -  abstract
  -  public
  -  int decide(LoggingEvent event);
  -
  +  public abstract int decide(LoggingEvent event);
  + 
  +  /**
  +   * Set the next filter pointer.
  +   */ 
  +  public void setNext(Filter next) {
  +    this.next = next;
  +  }
  + 
  +  /**
  +   * Return the pointer to the next filter;
  +   */ 
  +  public Filter getNext() {
  +        return next;
  +  }
   }
  
  
  
  1.5       +50 -15    
jakarta-log4j/src/java/org/apache/log4j/spi/HierarchyEventListener.java
  
  Index: HierarchyEventListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/HierarchyEventListener.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HierarchyEventListener.java       4 Sep 2001 18:44:47 -0000       1.4
  +++ HierarchyEventListener.java       18 Mar 2003 21:41:19 -0000      1.5
  @@ -1,34 +1,69 @@
   /*
  - * Copyright (C) The Apache Software Foundation. All rights reserved.
  + * ============================================================================
  + *                   The Apache Software License, Version 1.1
  + * ============================================================================
    *
  - * 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.txt file.  */
  + *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without modifica-
  + * tion, are permitted provided that the following conditions are met:
  + *
  + * 1. Redistributions of  source code must  retain the above copyright  notice,
  + *    this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright notice,
  + *    this list of conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if any, must
  + *    include  the following  acknowledgment:  "This product includes  software
  + *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *    Alternately, this  acknowledgment may  appear in the software itself,  if
  + *    and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
  + *    endorse  or promote  products derived  from this  software without  prior
  + *    written permission. For written permission, please contact
  + *    [EMAIL PROTECTED]
  + *
  + * 5. Products  derived from this software may not  be called "Apache", nor may
  + *    "Apache" appear  in their name,  without prior written permission  of the
  + *    Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * This software  consists of voluntary contributions made  by many individuals
  + * on  behalf of the Apache Software  Foundation.  For more  information on the
  + * Apache Software Foundation, please see <http://www.apache.org/>.
  + *
  + */
   
   package org.apache.log4j.spi;
   
   import org.apache.log4j.*;
   
  +
   /**
      Listen to events occuring within a [EMAIL PROTECTED]
      org.apache.log4j.Hierarchy Hierarchy}.
   
      @author Ceki G&uuml;lc&uuml;
      @since 1.2
  -   
  +
    */
   public interface HierarchyEventListener {
  -
  - 
     //public
     //void categoryCreationEvent(Category cat);
  +  public void addAppenderEvent(Category cat, Appender appender);
   
  -
  -  public
  -  void addAppenderEvent(Category cat, Appender appender);
  -
  -  public
  -  void removeAppenderEvent(Category cat, Appender appender);
  -
  -
  +  public void removeAppenderEvent(Category cat, Appender appender);
   }
  
  
  
  1.3       +50 -10    jakarta-log4j/src/java/org/apache/log4j/spi/LoggerFactory.java
  
  Index: LoggerFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggerFactory.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LoggerFactory.java        4 Apr 2002 14:46:02 -0000       1.2
  +++ LoggerFactory.java        18 Mar 2003 21:41:19 -0000      1.3
  @@ -1,16 +1,59 @@
   /*
  - * Copyright (C) The Apache Software Foundation. All rights reserved.
  + * ============================================================================
  + *                   The Apache Software License, Version 1.1
  + * ============================================================================
    *
  - * 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.txt file.  */
  + *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without modifica-
  + * tion, are permitted provided that the following conditions are met:
  + *
  + * 1. Redistributions of  source code must  retain the above copyright  notice,
  + *    this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright notice,
  + *    this list of conditions and the following disclaimer in the documentation
  + *    and/or other materials provided with the distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if any, must
  + *    include  the following  acknowledgment:  "This product includes  software
  + *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  + *    Alternately, this  acknowledgment may  appear in the software itself,  if
  + *    and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
  + *    endorse  or promote  products derived  from this  software without  prior
  + *    written permission. For written permission, please contact
  + *    [EMAIL PROTECTED]
  + *
  + * 5. Products  derived from this software may not  be called "Apache", nor may
  + *    "Apache" appear  in their name,  without prior written permission  of the
  + *    Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  + *
  + * This software  consists of voluntary contributions made  by many individuals
  + * on  behalf of the Apache Software  Foundation.  For more  information on the
  + * Apache Software Foundation, please see <http://www.apache.org/>.
  + *
  + */
   
   package org.apache.log4j.spi;
   
   import org.apache.log4j.Logger;
   
  +
   /**
  -   
  +
     Implement this interface to create new instances of Logger or
     a sub-class of Logger.
   
  @@ -18,11 +61,8 @@
   
     @author Ceki G&uuml;lc&uuml;
     @since version 0.8.5
  -   
  +
    */
   public interface LoggerFactory {
  -
  -  public
  -  Logger makeNewLoggerInstance(String name);
  -
  +  public Logger makeNewLoggerInstance(String name);
   }
  
  
  

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

Reply via email to