--- ../log4j/jakarta-log4j-1.2.8/src/java/org/apache/log4j/helpers/AppenderAttachableImpl.java 2003-02-19 17:07:32.000000000 -0800 +++ src/java/org/apache/log4j/helpers/AppenderAttachableImpl.java 2003-12-18 14:10:35.000000000 -0800 @@ -24,7 +24,8 @@ public class AppenderAttachableImpl implements AppenderAttachable { /** Array of appenders. */ - protected Vector appenderList; + protected Vector appenderList; + protected Appender appenders[]; /** Attach an appender. If the appender is already in the list in @@ -44,20 +45,16 @@ } /** - Call the doAppend method on all attached appenders. */ + Returns the appender array */ public - int appendLoopOnAppenders(LoggingEvent event) { - int size = 0; - Appender appender; - - if(appenderList != null) { - size = appenderList.size(); - for(int i = 0; i < size; i++) { - appender = (Appender) appenderList.elementAt(i); - appender.doAppend(event); - } - } - return size; + Appender[] getAppenderArray() { + if(appenderList == null) + return null; + int size = appenderList.size(); + if (appenders == null || appenders.length != size) + appenders = new Appender[size]; + appenderList.copyInto(appenders); + return appenders; }