in src/main/java/org/apache/log4j/xml/UtilLoggingXMLDecoder.java [176:221]
public Vector<ChainsawLoggingEvent> decode(final URL url) throws IOException {
LineNumberReader reader;
boolean isZipFile = url.getPath().toLowerCase().endsWith(".zip");
InputStream inputStream;
if (isZipFile) {
inputStream = new ZipInputStream(url.openStream());
//move stream to next entry so we can read it
((ZipInputStream) inputStream).getNextEntry();
} else {
inputStream = url.openStream();
}
if (owner != null) {
reader = new LineNumberReader(
new InputStreamReader(
new ProgressMonitorInputStream(owner,
"Loading " + url, inputStream), ENCODING));
} else {
reader = new LineNumberReader(new InputStreamReader(inputStream, ENCODING));
}
Vector<ChainsawLoggingEvent> v = new Vector<>();
String line;
Vector<ChainsawLoggingEvent> events;
try {
while ((line = reader.readLine()) != null) {
StringBuilder buffer = new StringBuilder(line);
for (int i = 0; i < 1000; i++) {
buffer.append(reader.readLine()).append("\n");
}
events = decodeEvents(buffer.toString());
if (events != null) {
v.addAll(events);
}
}
} finally {
partialEvent = null;
try {
if (reader != null) {
reader.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return v;
}