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 ce...@apache.org on 2001/02/20 09:05:13 UTC

cvs commit: jakarta-log4j/org/apache/log4j FileAppender.java WriterAppender.java

ceki        01/02/20 00:05:13

  Modified:    docs     HISTORY
               org/apache/log4j FileAppender.java WriterAppender.java
  Log:
  FileAppender remains backward compatible.
  
  Revision  Changes    Path
  1.22      +7 -5      jakarta-log4j/docs/HISTORY
  
  Index: HISTORY
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/docs/HISTORY,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- HISTORY	2001/02/15 16:22:13	1.21
  +++ HISTORY	2001/02/20 08:05:12	1.22
  @@ -27,15 +27,17 @@
   
    - The FileAppender has been split into three parts: WriterAppender,
      ConsoleAppender and FileAppender. ConsoleAppender takes over the
  -   console logging functionality of FileAppender. [**]
  +   console logging functionality of FileAppender. As a result Support
  +   for stream and console printing has been deprecated in FileAppender. [**]
   
    - The FileAppender now correctly outputs the header and footer of its
      layout. This problem was reported by too many users to list here. [*]
   
  - - Appenders and Layouts now get to see the raw message object in LoggingEvent 
  -   not just its rendered form. The access modifiers of some LoggingEvent fields 
  -   were changed so that they can be accessed in less error-prone ways. Thanks to 
  -   Jim Cakalic and Anders Kristens for their valuable advice. [*]
  + - Appenders and Layouts now get to see the raw message object in
  +   LoggingEvent not just its rendered form. The access modifiers of
  +   some LoggingEvent fields were changed so that they can be accessed
  +   in less error-prone ways. Thanks to Jim Cakalic and Anders Kristens
  +   for their valuable advice. [*]
   
    - Added getLayout(), getErrorHandler(), and getFilter() to the
      Appender interface. [*]
  
  
  
  1.11      +32 -24    jakarta-log4j/org/apache/log4j/FileAppender.java
  
  Index: FileAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/FileAppender.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FileAppender.java	2001/02/19 13:44:27	1.10
  +++ FileAppender.java	2001/02/20 08:05:12	1.11
  @@ -24,12 +24,15 @@
   // Contibutors: Jens Uwe Pipka <je...@gmx.de>
   
   /**
  -   FileAppender appends log events to the console, to a file, to a
  -   {@link java.io.Writer} or an {@link java.io.OutputStream} depending
  -   on the user's choice.
  +   FileAppender appends log events to a file. 
  +   
  +   <b>Support for java.io.Writer and console appending has been
  +   deprecated and will be removed in the near future.</b> You are
  +   stongly encouraged to use the replacement solutions: {@link
  +   WriterAppender} and {@link ConsoleAppender}.
  +   
   
  -   @author Ceki G&uuml;lc&uuml;
  -   */
  +   @author Ceki G&uuml;lc&uuml; */
   public class FileAppender extends WriterAppender {
   
     /**
  @@ -95,7 +98,7 @@
     */
     public
     FileAppender(Layout layout, OutputStream os) {
  -    super(layout, new OutputStreamWriter(os));
  +    super(layout, os);
     }
     
     /**
  @@ -165,15 +168,33 @@
     */
     protected
     void closeFile() {
  +    // FIXME (remove qwIsOurs)
       if(this.qw != null && this.qwIsOurs) {
         try {
   	this.qw.close();
         }
         catch(java.io.IOException e) {
  +	// Exceptionally, it does not make sense to delegate to an
  +	// ErrorHandler. Since a closed appender is basically dead.
   	LogLog.error("Could not close " + qw, e);
         }
       }
     }
  +
  +  /**
  +     Return an option by name.     
  +   */
  +  public
  +  String getOption(String key) {
  +    if (key.equalsIgnoreCase(FILE_OPTION)) {
  +      return fileName;
  +    } else if (key.equalsIgnoreCase(APPEND_OPTION)) {
  +      return fileAppend ? "true" : "false";
  +    } else {
  +      return super.getOption(key);
  +    }
  +  }
  +
    
     /**
        Retuns the option names for this component, namely the string
  @@ -232,7 +253,7 @@
        The recognized options are <b>File</b> and <b>Append</b>,
        i.e. the values of the string constants {@link #FILE_OPTION} and
        respectively {@link #APPEND_OPTION}. The options of the super
  -     class {@link AppenderSkeleton} are also recognized.
  +     class {@link WriterAppender} are also recognized.
   
        <p>The <b>File</b> option takes a string value which should be
        one of the strings "System.out" or "System.err" or the name of a
  @@ -277,9 +298,6 @@
       else if (key.equalsIgnoreCase(APPEND_OPTION)) {
         fileAppend = OptionConverter.toBoolean(value, fileAppend);
       }
  -    else if (key.equalsIgnoreCase(IMMEDIATE_FLUSH_OPTION)) {
  -      immediateFlush = OptionConverter.toBoolean(value, immediateFlush);
  -    }
     }
   
     /**
  @@ -292,25 +310,15 @@
        this.qw = new QuietWriter(writer, errorHandler);
     }
   
  -  
  -  public
  -  String getOption(String key) {
  -    if (key.equalsIgnoreCase(FILE_OPTION)) {
  -      return fileName;
  -    } else if (key.equalsIgnoreCase(APPEND_OPTION)) {
  -      return fileAppend ? "true" : "false";
  -    } else if (key.equalsIgnoreCase(IMMEDIATE_FLUSH_OPTION)) {
  -      return immediateFlush ? "true" : "false";
  -    } else {
  -      return super.getOption(key);
  -    }
  -  }
   
  +  /**
  +     Close any previously opened file and call the parent's
  +     <code>reset</code>.  */
     protected
     void reset() {
       closeFile();
       this.fileName = null;
       super.reset();    
  -  }
  +  }  
   }
   
  
  
  
  1.3       +5 -2      jakarta-log4j/org/apache/log4j/WriterAppender.java
  
  Index: WriterAppender.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/WriterAppender.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- WriterAppender.java	2001/02/19 13:44:27	1.2
  +++ WriterAppender.java	2001/02/20 08:05:12	1.3
  @@ -291,6 +291,8 @@
       } 
     }
   
  +
  +
     /**
        The WriterAppender requires a layout. Hence, this method returns
        <code>true</code>.
  @@ -300,10 +302,11 @@
       return true;
     }
   
  -
     /**
        Clerar internal references to the writer and other variables.
  -   */
  +
  +     Sub-classes can override this method for an alternate closing
  +     behaviour.  */
     protected
     void reset() {
        this.qw = null;