Repository: logging-log4j2 Updated Branches: refs/heads/master cd30c8ca5 -> d4af84424
LOG4J2-1688 Multiple loggings of arguments are setting these arguments to null. Add test. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d4af8442 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d4af8442 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d4af8442 Branch: refs/heads/master Commit: d4af844240bb0b137634ed24cfba0947c4cdb18b Parents: cd30c8c Author: Gary Gregory <[email protected]> Authored: Fri Nov 11 23:08:48 2016 -0800 Committer: Gary Gregory <[email protected]> Committed: Fri Nov 11 23:08:48 2016 -0800 ---------------------------------------------------------------------- .../logging/log4j/spi/Log4j2Jira1688Test.java | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d4af8442/log4j-api/src/test/java/org/apache/logging/log4j/spi/Log4j2Jira1688Test.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/spi/Log4j2Jira1688Test.java b/log4j-api/src/test/java/org/apache/logging/log4j/spi/Log4j2Jira1688Test.java new file mode 100644 index 0000000..eb46e03 --- /dev/null +++ b/log4j-api/src/test/java/org/apache/logging/log4j/spi/Log4j2Jira1688Test.java @@ -0,0 +1,42 @@ +package org.apache.logging.log4j.spi; + +import java.util.Arrays; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; + +/** + * Tests LOG4J2-1688 Multiple loggings of arguments are setting these arguments to null. + */ +@RunWith(BlockJUnit4ClassRunner.class) +public class Log4j2Jira1688Test { + + private static Object[] createArray(final int size) { + final Object[] args = new Object[size]; + for (int i = 0; i < args.length; i++) { + args[i] = i; + } + return args; + } + + @Test + public void testLog4j2Only() { + final org.apache.logging.log4j.Logger log4JLogger = LogManager.getLogger(this.getClass()); + final int limit = 37; + final Object[] args = createArray(limit); + final Object[] originalArgs = Arrays.copyOf(args, args.length); + + ((ExtendedLogger)log4JLogger).logIfEnabled("test", Level.ERROR, null, "test {}", args); + //System.out.println("args " + Arrays.toString(args)); + Assert.assertArrayEquals(originalArgs, args); + + ((ExtendedLogger)log4JLogger).logIfEnabled("test", Level.ERROR, null, "test {}", args); + //System.out.println("args " + Arrays.toString(args)); + Assert.assertArrayEquals(originalArgs, args); + } + +} \ No newline at end of file
