Merge remote-tracking branch 'origin/master' into feature/LOG4J2-1430 # Conflicts: # log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderQueueFullPolicyTest.java # log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncAppenderLog4j2LocationBenchmark.java
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a20e39ec Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a20e39ec Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a20e39ec Branch: refs/heads/master Commit: a20e39ecab3c111f668faf12409fb034fae5c67c Parents: 1e29e1d db47cde Author: Matt Sicker <boa...@gmail.com> Authored: Sat Jun 18 15:08:57 2016 -0500 Committer: Matt Sicker <boa...@gmail.com> Committed: Sat Jun 18 15:08:57 2016 -0500 ---------------------------------------------------------------------- .../log4j/message/ParameterizedMessage.java | 15 ++- .../org/apache/logging/log4j/util/Unbox.java | 4 +- .../core/appender/MemoryMappedFileManager.java | 2 + .../core/appender/OutputStreamManager.java | 2 +- .../rolling/OnStartupTriggeringPolicy.java | 4 - .../rolling/action/FileRenameAction.java | 4 - .../log4j/core/config/Configuration.java | 6 +- .../log4j/core/config/ConfigurationFactory.java | 19 ++-- .../logging/log4j/core/config/Configurator.java | 3 +- .../builder/api/ConfigurationBuilder.java | 1 - .../config/builder/impl/BuiltConfiguration.java | 1 + .../config/composite/DefaultMergeStrategy.java | 3 +- .../log4j/core/filter/CompositeFilter.java | 7 +- .../log4j/core/jackson/LogEventJsonMixIn.java | 2 - .../core/layout/AbstractJacksonLayout.java | 1 - .../log4j/core/layout/CsvParameterLayout.java | 1 - .../log4j/core/pattern/NameAbbreviator.java | 102 +++++++++---------- .../core/GcFreeMixedSyncAyncLoggingTest.java | 1 - .../core/GcFreeSynchronousLoggingTest.java | 1 - .../AsyncAppenderQueueFullPolicyTest.java | 6 +- .../ConsoleAppenderAnsiStyleLayoutMain.java | 40 ++++++-- .../ConsoleAppenderJAnsiMessageMain.java | 75 ++++++++++++++ .../log4j/core/appender/FileAppenderTest.java | 37 ++++--- .../rolling/OnStartupTriggeringPolicyTest.java | 16 +-- .../RandomRollingAppenderOnStartupTest.java | 6 +- .../rolling/RollingAppenderOnStartupTest.java | 13 +-- .../rolling/RollingAppenderSizeTest.java | 4 +- .../core/config/CompositeConfigurationTest.java | 6 -- .../core/filter/AbstractFilterableTest.java | 12 ++- .../log4j/core/impl/MutableLogEventTest.java | 1 - .../core/impl/ReusableLogEventFactoryTest.java | 2 + .../layout/CsvParameterLayoutAllAsyncTest.java | 1 - .../log4j/test/appender/BlockingAppender.java | 3 - ...ractStringLayoutStringEncodingBenchmark.java | 4 +- .../perf/jmh/AsyncAppenderLogbackBenchmark.java | 1 - .../AsyncAppenderLogbackLocationBenchmark.java | 2 - .../perf/jmh/AsyncLoggersLocationBenchmark.java | 2 - .../jmh/MemoryHandlerJULLocationBenchmark.java | 2 - .../perf/jmh/ThreadsafeDateFormatBenchmark.java | 6 +- pom.xml | 4 +- src/changes/changes.xml | 8 +- 41 files changed, 249 insertions(+), 181 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a20e39ec/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderQueueFullPolicyTest.java ---------------------------------------------------------------------- diff --cc log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderQueueFullPolicyTest.java index 00fb2ef,1e7ca92..bdd2aa6 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderQueueFullPolicyTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderQueueFullPolicyTest.java @@@ -55,10 -55,10 +55,10 @@@ public class AsyncAppenderQueueFullPoli @Before public void before() throws Exception { - blockingAppender = (BlockingAppender) context.getAppender("Block"); - asyncAppender = (AsyncAppender) context.getAppender("Async"); + blockingAppender = context.getAppender("Block", BlockingAppender.class); + asyncAppender = context.getAppender("Async", AsyncAppender.class); - Field field = AsyncAppender.class.getDeclaredField("asyncQueueFullPolicy"); + final Field field = AsyncAppender.class.getDeclaredField("asyncQueueFullPolicy"); field.setAccessible(true); policy = new CountingAsyncQueueFullPolicy(); field.set(asyncAppender, policy); @@@ -79,8 -79,10 +79,11 @@@ logger.error("event 1 - gets taken off the queue"); logger.warn("event 2"); logger.info("event 3"); + logger.info("event 4"); + while (asyncAppender.getQueueRemainingCapacity() == 0) { + Thread.yield(); // wait until background thread takes one element off the queue + } - logger.info("event 4 - now the queue is full"); + logger.info("event 5 - now the queue is full"); assertEquals("queue remaining capacity", 0, asyncAppender.getQueueRemainingCapacity()); assertEquals("EventRouter invocations", 0, policy.queueFull.get()); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a20e39ec/pom.xml ----------------------------------------------------------------------