You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2015/07/07 14:25:26 UTC
[1/2] logging-log4j2 git commit: LOG4J2-1030 LOG4J2-889 Header in
layout should not be written on application startup if appending to an
existing file.
Repository: logging-log4j2
Updated Branches:
refs/heads/master c527ffcd6 -> c49cbc428
LOG4J2-1030 LOG4J2-889 Header in layout should not be written on
application startup if appending to an existing file.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/547574f9
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/547574f9
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/547574f9
Branch: refs/heads/master
Commit: 547574f972754001b4c0cd162dcff3c9346aa69e
Parents: c527ffc
Author: rpopma <rp...@apache.org>
Authored: Tue Jul 7 08:23:02 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Tue Jul 7 08:23:02 2015 +0900
----------------------------------------------------------------------
.../log4j/core/appender/ConsoleAppender.java | 2 +-
.../log4j/core/appender/FileManager.java | 9 +++--
.../core/appender/MemoryMappedFileManager.java | 7 ++--
.../core/appender/OutputStreamManager.java | 5 +--
.../core/appender/RandomAccessFileManager.java | 7 ++--
.../appender/rolling/RollingFileManager.java | 7 ++--
.../rolling/RollingRandomAccessFileManager.java | 8 +++--
.../log4j/core/net/AbstractSocketManager.java | 6 ++--
.../log4j/core/net/DatagramSocketManager.java | 2 +-
.../log4j/core/net/TcpSocketManager.java | 2 +-
.../core/appender/OutputStreamAppenderTest.java | 35 +++++++++++++++++---
.../appender/RandomAccessFileManagerTest.java | 8 ++---
.../rolling/OnStartupTriggeringPolicyTest.java | 2 +-
.../RollingRandomAccessFileManagerTest.java | 6 ++--
.../log4j/test/appender/InMemoryAppender.java | 9 ++---
src/changes/changes.xml | 3 ++
16 files changed, 79 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
index 81a1152..5a3c8aa 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
@@ -352,7 +352,7 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
*/
@Override
public OutputStreamManager createManager(final String name, final FactoryData data) {
- return new OutputStreamManager(data.os, data.type, data.layout);
+ return new OutputStreamManager(data.os, data.type, data.layout, true);
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
index d88c396..d58615c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
@@ -44,8 +44,9 @@ public class FileManager extends OutputStreamManager {
private final int bufferSize;
protected FileManager(final String fileName, final OutputStream os, final boolean append, final boolean locking,
- final String advertiseURI, final Layout<? extends Serializable> layout, final int bufferSize) {
- super(os, fileName, layout);
+ final String advertiseURI, final Layout<? extends Serializable> layout, final int bufferSize,
+ final boolean writeHeader) {
+ super(os, fileName, layout, writeHeader);
this.isAppend = append;
this.isLocking = locking;
this.advertiseURI = advertiseURI;
@@ -196,6 +197,7 @@ public class FileManager extends OutputStreamManager {
parent.mkdirs();
}
+ final boolean writeHeader = !data.append || !file.exists();
OutputStream os;
try {
os = new FileOutputStream(name, data.append);
@@ -205,7 +207,8 @@ public class FileManager extends OutputStreamManager {
} else {
bufferSize = -1; // signals to RollingFileManager not to use BufferedOutputStream
}
- return new FileManager(name, os, data.append, data.locking, data.advertiseURI, data.layout, bufferSize);
+ return new FileManager(name, os, data.append, data.locking, data.advertiseURI, data.layout, bufferSize,
+ writeHeader);
} catch (final FileNotFoundException ex) {
LOGGER.error("FileManager (" + name + ") " + ex);
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
index 034d7ea..c9eeb60 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
@@ -64,8 +64,8 @@ public class MemoryMappedFileManager extends OutputStreamManager {
protected MemoryMappedFileManager(final RandomAccessFile file, final String fileName, final OutputStream os,
final boolean force, final long position, final int regionLength, final String advertiseURI,
- final Layout<? extends Serializable> layout) throws IOException {
- super(os, fileName, layout);
+ final Layout<? extends Serializable> layout, final boolean writeHeader) throws IOException {
+ super(os, fileName, layout, writeHeader);
this.isForce = force;
this.randomAccessFile = Objects.requireNonNull(file, "RandomAccessFile");
this.regionLength = regionLength;
@@ -307,6 +307,7 @@ public class MemoryMappedFileManager extends OutputStreamManager {
file.delete();
}
+ final boolean writeHeader = !data.append || !file.exists();
final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
RandomAccessFile raf = null;
try {
@@ -314,7 +315,7 @@ public class MemoryMappedFileManager extends OutputStreamManager {
final long position = (data.append) ? raf.length() : 0;
raf.setLength(position + data.regionLength);
return new MemoryMappedFileManager(raf, name, os, data.force, position, data.regionLength,
- data.advertiseURI, data.layout);
+ data.advertiseURI, data.layout, writeHeader);
} catch (final Exception ex) {
LOGGER.error("MemoryMappedFileManager (" + name + ") " + ex);
Closer.closeSilently(raf);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
index 387687e..a9bdb0c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
@@ -30,11 +30,12 @@ public class OutputStreamManager extends AbstractManager {
private volatile OutputStream os;
protected final Layout<?> layout;
- protected OutputStreamManager(final OutputStream os, final String streamName, final Layout<?> layout) {
+ protected OutputStreamManager(final OutputStream os, final String streamName, final Layout<?> layout,
+ boolean writeHeader) {
super(streamName);
this.os = os;
this.layout = layout;
- if (layout != null) {
+ if (writeHeader && layout != null) {
final byte[] header = layout.getHeader();
if (header != null) {
try {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
index 719025a..1110cbc 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
@@ -47,8 +47,8 @@ public class RandomAccessFileManager extends OutputStreamManager {
protected RandomAccessFileManager(final RandomAccessFile file,
final String fileName, final OutputStream os,
final boolean immediateFlush, final int bufferSize,
- final String advertiseURI, final Layout<? extends Serializable> layout) {
- super(os, fileName, layout);
+ final String advertiseURI, final Layout<? extends Serializable> layout, final boolean writeHeader) {
+ super(os, fileName, layout, writeHeader);
this.isImmediateFlush = immediateFlush;
this.randomAccessFile = file;
this.advertiseURI = advertiseURI;
@@ -210,6 +210,7 @@ public class RandomAccessFileManager extends OutputStreamManager {
file.delete();
}
+ final boolean writeHeader = !data.append || !file.exists();
final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
RandomAccessFile raf;
try {
@@ -220,7 +221,7 @@ public class RandomAccessFileManager extends OutputStreamManager {
raf.setLength(0);
}
return new RandomAccessFileManager(raf, name, os, data.immediateFlush,
- data.bufferSize, data.advertiseURI, data.layout);
+ data.bufferSize, data.advertiseURI, data.layout, writeHeader);
} catch (final Exception ex) {
LOGGER.error("RandomAccessFileManager (" + name + ") " + ex);
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
index 4a945af..b66c62c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
@@ -49,8 +49,8 @@ public class RollingFileManager extends FileManager {
protected RollingFileManager(final String fileName, final String pattern, final OutputStream os,
final boolean append, final long size, final long time, final TriggeringPolicy triggeringPolicy,
final RolloverStrategy rolloverStrategy, final String advertiseURI,
- final Layout<? extends Serializable> layout, final int bufferSize) {
- super(fileName, os, append, false, advertiseURI, layout, bufferSize);
+ final Layout<? extends Serializable> layout, final int bufferSize, final boolean writeHeader) {
+ super(fileName, os, append, false, advertiseURI, layout, bufferSize, writeHeader);
this.size = size;
this.initialTime = time;
this.triggeringPolicy = triggeringPolicy;
@@ -310,6 +310,7 @@ public class RollingFileManager extends FileManager {
}
final long size = data.append ? file.length() : 0;
+ final boolean writeHeader = !data.append || !file.exists();
OutputStream os;
try {
os = new FileOutputStream(name, data.append);
@@ -321,7 +322,7 @@ public class RollingFileManager extends FileManager {
}
final long time = file.lastModified(); // LOG4J2-531 create file first so time has valid value
return new RollingFileManager(name, data.pattern, os, data.append, size, time, data.policy,
- data.strategy, data.advertiseURI, data.layout, bufferSize);
+ data.strategy, data.advertiseURI, data.layout, bufferSize, writeHeader);
} catch (final FileNotFoundException ex) {
LOGGER.error("FileManager (" + name + ") " + ex);
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
index 501fff0..87a5de8 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
@@ -50,8 +50,9 @@ public class RollingRandomAccessFileManager extends RollingFileManager {
final String pattern, final OutputStream os, final boolean append,
final boolean immediateFlush, final int bufferSize, final long size, final long time,
final TriggeringPolicy policy, final RolloverStrategy strategy,
- final String advertiseURI, final Layout<? extends Serializable> layout) {
- super(fileName, pattern, os, append, size, time, policy, strategy, advertiseURI, layout, bufferSize);
+ final String advertiseURI, final Layout<? extends Serializable> layout, final boolean writeHeader) {
+ super(fileName, pattern, os, append, size, time, policy, strategy, advertiseURI, layout, bufferSize,
+ writeHeader);
this.isImmediateFlush = immediateFlush;
this.randomAccessFile = raf;
isEndOfBatch.set(Boolean.FALSE);
@@ -181,6 +182,7 @@ public class RollingRandomAccessFileManager extends RollingFileManager {
final long size = data.append ? file.length() : 0;
final long time = file.exists() ? file.lastModified() : System.currentTimeMillis();
+ final boolean writeHeader = !data.append || !file.exists();
RandomAccessFile raf = null;
try {
raf = new RandomAccessFile(name, "rw");
@@ -194,7 +196,7 @@ public class RollingRandomAccessFileManager extends RollingFileManager {
}
return new RollingRandomAccessFileManager(raf, name, data.pattern, NullOutputStream.NULL_OUTPUT_STREAM,
data.append, data.immediateFlush, data.bufferSize, size, time, data.policy, data.strategy,
- data.advertiseURI, data.layout);
+ data.advertiseURI, data.layout, writeHeader);
} catch (final IOException ex) {
LOGGER.error("Cannot access RandomAccessFile {}) " + ex);
if (raf != null) {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/net/AbstractSocketManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/AbstractSocketManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/AbstractSocketManager.java
index 4ce9690..ceeeeff 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/AbstractSocketManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/AbstractSocketManager.java
@@ -53,9 +53,9 @@ public abstract class AbstractSocketManager extends OutputStreamManager {
* @param host The target host name.
* @param port The target port number.
*/
- public AbstractSocketManager(final String name, final OutputStream os, final InetAddress inetAddress, final String host,
- final int port, final Layout<? extends Serializable> layout) {
- super(os, name, layout);
+ public AbstractSocketManager(final String name, final OutputStream os, final InetAddress inetAddress,
+ final String host, final int port, final Layout<? extends Serializable> layout, final boolean writeHeader) {
+ super(os, name, layout, writeHeader);
this.inetAddress = inetAddress;
this.host = host;
this.port = port;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/net/DatagramSocketManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/DatagramSocketManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/DatagramSocketManager.java
index 4a49171..0bcd793 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/DatagramSocketManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/DatagramSocketManager.java
@@ -45,7 +45,7 @@ public class DatagramSocketManager extends AbstractSocketManager {
*/
protected DatagramSocketManager(final String name, final OutputStream os, final InetAddress inetAddress, final String host,
final int port, final Layout<? extends Serializable> layout) {
- super(name, os, inetAddress, host, port, layout);
+ super(name, os, inetAddress, host, port, layout, true);
}
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
index 60bc17d..f9aabb3 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
@@ -78,7 +78,7 @@ public class TcpSocketManager extends AbstractSocketManager {
public TcpSocketManager(final String name, final OutputStream os, final Socket sock, final InetAddress inetAddress,
final String host, final int port, final int connectTimeoutMillis, final int delay,
final boolean immediateFail, final Layout<? extends Serializable> layout) {
- super(name, os, inetAddress, host, port, layout);
+ super(name, os, inetAddress, host, port, layout, true);
this.connectTimeoutMillis = connectTimeoutMillis;
this.reconnectionDelay = delay;
this.socket = sock;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
index 90c5417..b91be76 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
@@ -36,15 +36,42 @@ public class OutputStreamAppenderTest {
@Test
public void testAppender() {
final Layout<String> layout = PatternLayout.createDefaultLayout();
- final InMemoryAppender app = new InMemoryAppender("test", layout, null, false);
- final LogEvent event = new Log4jLogEvent("TestLogger", null, OutputStreamAppenderTest.class.getName(), Level.INFO,
- new SimpleMessage("Test"), null);
+ final boolean writeHeader = true;
+ final InMemoryAppender app = new InMemoryAppender("test", layout, null, false, writeHeader);
+ final String expectedHeader = null;
+ assertMessage("Test", app, expectedHeader);
+ }
+
+ @Test
+ public void testHeaderRequested() {
+ final PatternLayout layout = PatternLayout.newBuilder().withHeader("HEADERHEADER").build();
+ final boolean writeHeader = true;
+ final InMemoryAppender app = new InMemoryAppender("test", layout, null, false, writeHeader);
+ final String expectedHeader = "HEADERHEADER";
+ assertMessage("Test", app, expectedHeader);
+ }
+
+ @Test
+ public void testHeaderSuppressed() {
+ final PatternLayout layout = PatternLayout.newBuilder().withHeader("HEADERHEADER").build();
+ final boolean writeHeader = false;
+ final InMemoryAppender app = new InMemoryAppender("test", layout, null, false, writeHeader);
+ final String expectedHeader = null;
+ assertMessage("Test", app, expectedHeader);
+ }
+
+ private void assertMessage(String string, InMemoryAppender app, String header) {
+ final LogEvent event = new Log4jLogEvent("TestLogger", null, OutputStreamAppenderTest.class.getName(),
+ Level.INFO, new SimpleMessage("Test"), null);
app.start();
assertTrue("Appender did not start", app.isStarted());
app.append(event);
+ app.append(event);
final String msg = app.toString();
assertNotNull("No message", msg);
- assertTrue("Incorrect message: " + msg , msg.endsWith("Test" + Constants.LINE_SEPARATOR));
+ final String expectedHeader = header == null ? "" : header;
+ final String expected = expectedHeader + "Test" + Constants.LINE_SEPARATOR + "Test" + Constants.LINE_SEPARATOR;
+ assertTrue("Incorrect message: " + msg, msg.equals(expected));
app.stop();
assertFalse("Appender did not stop", app.isStarted());
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
index 1b9c472..e38f5fa 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
@@ -44,7 +44,7 @@ public class RandomAccessFileManagerTest {
try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
final RandomAccessFileManager manager = new RandomAccessFileManager(raf, file.getName(), os, false,
- RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, null);
+ RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, null, true);
final int size = RandomAccessFileManager.DEFAULT_BUFFER_SIZE * 3;
final byte[] data = new byte[size];
@@ -66,7 +66,7 @@ public class RandomAccessFileManagerTest {
try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
final RandomAccessFileManager manager = new RandomAccessFileManager(raf, file.getName(), os, false,
- RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, null);
+ RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, null, true);
final int size = RandomAccessFileManager.DEFAULT_BUFFER_SIZE * 3 + 1;
final byte[] data = new byte[size];
@@ -87,7 +87,7 @@ public class RandomAccessFileManagerTest {
assertNotEquals(bufferSize, RandomAccessFileManager.DEFAULT_BUFFER_SIZE);
final RandomAccessFileManager manager = new RandomAccessFileManager(raf, file.getName(), os, false,
- bufferSize, null, null);
+ bufferSize, null, null, true);
// check the resulting buffer size is what was requested
assertEquals(bufferSize, manager.getBufferSize());
@@ -101,7 +101,7 @@ public class RandomAccessFileManagerTest {
final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
final int bufferSize = 1;
final RandomAccessFileManager manager = new RandomAccessFileManager(raf, file.getName(), os, false,
- bufferSize, null, null);
+ bufferSize, null, null, true);
final int size = bufferSize * 3 + 1;
final byte[] data = new byte[size];
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
index 293c10b..c0306af 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
@@ -52,7 +52,7 @@ public class OnStartupTriggeringPolicyTest {
public MyRollingManager(final TriggeringPolicy policy, final RolloverStrategy strategy) {
super("testfile", "target/rolling1/test1-%i.log.gz", new ByteArrayOutputStream(),
- false, 0, System.currentTimeMillis(), policy, strategy, null, null, 8192);
+ false, 0, System.currentTimeMillis(), policy, strategy, null, null, 8192, true);
}
public void setFileTime(final long timestamp) {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
index 75f422e..d96d75e 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
@@ -62,7 +62,7 @@ public class RollingRandomAccessFileManagerTest {
final RolloverStrategy rolloverStrategy = null;
final RollingRandomAccessFileManager manager = new RollingRandomAccessFileManager(raf,
file.getName(), Strings.EMPTY, os, append, flushNow, RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE, triggerSize, time,
- triggerPolicy, rolloverStrategy, null, null);
+ triggerPolicy, rolloverStrategy, null, null, true);
final int size = RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE * 3;
final byte[] data = new byte[size];
@@ -93,7 +93,7 @@ public class RollingRandomAccessFileManagerTest {
final RolloverStrategy rolloverStrategy = null;
final RollingRandomAccessFileManager manager = new RollingRandomAccessFileManager(raf,
file.getName(), Strings.EMPTY, os, append, flushNow, RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE, triggerSize, time,
- triggerPolicy, rolloverStrategy, null, null);
+ triggerPolicy, rolloverStrategy, null, null, true);
final int size = RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE * 3 + 1;
final byte[] data = new byte[size];
@@ -120,7 +120,7 @@ public class RollingRandomAccessFileManagerTest {
final RolloverStrategy rolloverStrategy = null;
final RollingRandomAccessFileManager manager = new RollingRandomAccessFileManager(raf,
file.getName(), Strings.EMPTY, os, append, flushNow, bufferSize, triggerSize, time,
- triggerPolicy, rolloverStrategy, null, null);
+ triggerPolicy, rolloverStrategy, null, null, true);
// check the resulting buffer size is what was requested
assertEquals(bufferSize, manager.getBufferSize());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
index 66e7b71..9b483a6 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
@@ -32,8 +32,8 @@ public class InMemoryAppender extends AbstractOutputStreamAppender<InMemoryAppen
private static final long serialVersionUID = 1L;
public InMemoryAppender(final String name, final Layout<? extends Serializable> layout, final CompositeFilter filters,
- final boolean ignoreExceptions) {
- super(name, layout, filters, ignoreExceptions, true, new InMemoryManager(name, layout));
+ final boolean ignoreExceptions, final boolean writeHeader) {
+ super(name, layout, filters, ignoreExceptions, true, new InMemoryManager(name, layout, writeHeader));
}
@Override
@@ -43,8 +43,9 @@ public class InMemoryAppender extends AbstractOutputStreamAppender<InMemoryAppen
static class InMemoryManager extends OutputStreamManager {
- public InMemoryManager(final String name, final Layout<? extends Serializable> layout) {
- super(new ByteArrayOutputStream(), name, layout);
+ public InMemoryManager(final String name, final Layout<? extends Serializable> layout,
+ final boolean writeHeader) {
+ super(new ByteArrayOutputStream(), name, layout, writeHeader);
}
@Override
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/547574f9/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1ef9568..c6baa81 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.4" date="2015-MM-DD" description="GA Release 2.4">
+ <action issue="LOG4J2-889" dev="rpopma" type="fix">
+ Header in layout should not be written on application startup if appending to an existing file.
+ </action>
<action issue="LOG4J2-918" dev="rpopma" type="fix">
Clarify documentation for combining async with sync loggers.
</action>
[2/2] logging-log4j2 git commit: git-ignore
log4j-samples/configuration/target/
Posted by rp...@apache.org.
git-ignore log4j-samples/configuration/target/
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/c49cbc42
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/c49cbc42
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/c49cbc42
Branch: refs/heads/master
Commit: c49cbc4289eab830e1af41fc70c7835d77e74e37
Parents: 547574f
Author: rpopma <rp...@apache.org>
Authored: Tue Jul 7 21:25:22 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Tue Jul 7 21:25:22 2015 +0900
----------------------------------------------------------------------
log4j-samples/.gitignore | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/c49cbc42/log4j-samples/.gitignore
----------------------------------------------------------------------
diff --git a/log4j-samples/.gitignore b/log4j-samples/.gitignore
index edc6e06..4319c95 100644
--- a/log4j-samples/.gitignore
+++ b/log4j-samples/.gitignore
@@ -1,2 +1,3 @@
/target/
/.project
+/configuration/target/