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ülcü
- */
+ @author Ceki Gülcü */
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;