ceki 2005/01/04 07:09:55 Modified: src/java/org/apache/log4j/spi Filter.java ComponentBase.java src/java/org/apache/log4j Layout.java Logger.java Log: Layout, Filter extend ComponentBase Revision Changes Path 1.9 +1 -16 logging-log4j/src/java/org/apache/log4j/spi/Filter.java Index: Filter.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/spi/Filter.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Filter.java 24 Nov 2004 08:17:01 -0000 1.8 +++ Filter.java 4 Jan 2005 15:09:54 -0000 1.9 @@ -60,7 +60,7 @@ @author Ceki Gülcü @since 0.9.0 */ -public abstract class Filter implements OptionHandler { +public abstract class Filter extends ComponentBase implements OptionHandler { /** The log event must be dropped immediately without consulting with the remaining filters, if any, in the chain. */ @@ -113,19 +113,4 @@ public Filter getNext() { return next; } - - /** - * Return an instance specific logger to be used by the Filter itself. - * This logger is not intended to be used by Mrs. Piggy, our proverbial user, - * hence the protected keyword. - * - * @return instance specific logger - */ -// protected Logger getLogger() { -// if(logger == null) { -// logger = LogManager.getLogger(this.getClass().getName()); -// } -// return logger; -// } - } 1.2 +10 -7 logging-log4j/src/java/org/apache/log4j/spi/ComponentBase.java Index: ComponentBase.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/spi/ComponentBase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ComponentBase.java 3 Jan 2005 17:35:26 -0000 1.1 +++ ComponentBase.java 4 Jan 2005 15:09:54 -0000 1.2 @@ -35,10 +35,10 @@ /** * Return an instance specific logger to be used by the component itself. - * This logger is not intended to be used by Mrs. Piggy, our proverbial user, - * hence the protected keyword. + * This logger is not intended to be accessed by the end-user, hence the + * protected keyword. * - * <p>In case the repository for this components is not correctly set, + * <p>In case the repository for this components is not set, * this implementations returns a [EMAIL PROTECTED] SimpleLogger} instance. * * @return A ULogger instance. @@ -50,10 +50,13 @@ } else { logger = LogManager.SIMPLE_LOGGER_FA.getLogger(this.getClass().getName()); } + } else if(repository != null && !(logger instanceof org.apache.log4j.Logger)){ + // if repository is set but logger is not an instance of Logger, we + // could reset the logger, as in the line below. However, we chose not to + // do so in order to make the bigger problem more apparent. + + // logger = repository.getLogger(this.getClass().getName()); } return logger; - } - - - + } } 1.14 +4 -38 logging-log4j/src/java/org/apache/log4j/Layout.java Index: Layout.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/Layout.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Layout.java 28 Dec 2004 23:08:12 -0000 1.13 +++ Layout.java 4 Jan 2005 15:09:54 -0000 1.14 @@ -20,7 +20,7 @@ import java.io.IOException; import java.io.Writer; -import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.ComponentBase; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.OptionHandler; @@ -32,13 +32,13 @@ @author Chris Nokes */ -public abstract class Layout implements OptionHandler { +public abstract class Layout extends ComponentBase implements OptionHandler { // Note that the line.separator property can be looked up even by // applets. public static final String LINE_SEP = System.getProperty("line.separator"); public static final int LINE_SEP_LEN = LINE_SEP.length(); - final static Logger logger = Logger.getLogger(Layout.class); + public CharArrayWriter charArrayWriter = new CharArrayWriter(1024); @@ -46,9 +46,6 @@ String header; String footer; - LoggerRepository repository; - // Most layouts ignore the throwable. If a subclasses needs to override the - // default value it should do so in its default constructor. protected boolean ignoresThrowable = true; /** @@ -60,7 +57,7 @@ format(charArrayWriter, event); } catch(IOException ie) { // There cannot be an IoException while writing to a CharArrayWriter - logger.error("Unexpected IOException while writing to CharArrayWriter", ie); + getLogger().error("Unexpected IOException while writing to CharArrayWriter", ie); } return charArrayWriter.toString(); } @@ -141,35 +138,4 @@ this.header = header; } - /** - * Repository where this layout is attached. If not set, the - * returned valyue may be null. - * - * @return The repository where this layout is attached. - */ - public LoggerRepository getLoggerRepository() { - return repository; - } - - /** - * Set the LoggerRepository this layout is attached to indirectly through its - * containing appener. This operation can only be performed once. Once set, - * the repository cannot be changed. - * - * @param repository The repository where this layout is indirectly attached. - * @throws IllegalStateException If you try to change the repository after it - * has been set. - * - * @since 1.3 - */ - public void setLoggerRepository(LoggerRepository repository) throws IllegalStateException { - if(repository == null) { - throw new IllegalArgumentException("repository argument cannot be null"); - } - if(this.repository == null) { - this.repository = repository; - } else { - throw new IllegalStateException("Repository has been already set"); - } - } } 1.29 +1 -2 logging-log4j/src/java/org/apache/log4j/Logger.java Index: Logger.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/Logger.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- Logger.java 3 Jan 2005 11:05:45 -0000 1.28 +++ Logger.java 4 Jan 2005 15:09:54 -0000 1.29 @@ -17,7 +17,6 @@ package org.apache.log4j; import org.apache.log4j.spi.LoggerFactory; -import org.apache.ugli.ULogger; import org.apache.ugli.impl.MessageFormatter; @@ -29,7 +28,7 @@ * @author Ceki Gülcü * @since log4j 1.2 */ -public class Logger extends Category implements ULogger { +public class Logger extends Category { /** * The fully qualified name of the Logger class. See also the [EMAIL PROTECTED] #getFQCN} * method.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]