You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2015/08/09 17:47:43 UTC

[2/2] logging-log4j2 git commit: Adds new methods to Core's LoggerContext to replace calls like: final LoggerContext context = (LoggerContext) LogManager.getContext(false); with new LoggerContext methods like: final LoggerContext context = LoggerCont

Adds new methods to Core's LoggerContext to replace calls like:
  final LoggerContext context = (LoggerContext)
LogManager.getContext(false);
with new LoggerContext methods like:
  final LoggerContext context = LoggerContext.getContext(false);

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b0316f53
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b0316f53
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b0316f53

Branch: refs/heads/master
Commit: b0316f5302329c93d2430b03011629891a3c96ba
Parents: f0dbf22
Author: ggregory <gg...@apache.org>
Authored: Sun Aug 9 08:47:35 2015 -0700
Committer: ggregory <gg...@apache.org>
Committed: Sun Aug 9 08:47:35 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/log4j/VelocityTest.java     |  3 +-
 .../logging/log4j/core/LogEventListener.java    |  4 +-
 .../logging/log4j/core/LoggerContext.java       | 58 ++++++++++++++++++++
 .../logging/log4j/core/config/Configurator.java |  4 +-
 .../logging/log4j/core/LateConfigTest.java      |  7 +--
 .../logging/log4j/core/LoggerUpdateTest.java    |  2 +-
 .../log4j/core/appender/AsyncAppenderTest.java  |  2 +-
 .../MemoryMappedFileAppenderLocationTest.java   |  2 +-
 .../MemoryMappedFileAppenderRemapTest.java      |  2 +-
 .../MemoryMappedFileAppenderSimpleTest.java     |  2 +-
 .../log4j/core/appender/SmtpAppenderTest.java   |  3 +-
 .../log4j/core/appender/SocketAppenderTest.java |  5 +-
 .../core/appender/SyslogAppenderTestBase.java   |  5 +-
 .../db/jdbc/AbstractJdbcAppenderTest.java       |  4 +-
 .../db/jdbc/DataSourceConnectionSourceTest.java |  3 +-
 .../jdbc/FactoryMethodConnectionSourceTest.java |  3 +-
 .../db/jpa/AbstractJpaAppenderTest.java         |  4 +-
 .../RollingAppenderUncompressedTest.java        |  4 +-
 .../rolling/RollingFileAppenderAccessTest.java  |  3 +-
 .../routing/JsonRoutingAppender2Test.java       |  3 +-
 .../routing/JsonRoutingAppenderTest.java        |  3 +-
 .../core/async/AsyncLoggerConfigTest2.java      |  2 +-
 .../AsyncLoggersWithAsyncAppenderTest.java      |  2 +-
 .../AsyncLoggersWithAsyncLoggerConfigTest.java  |  2 +-
 .../log4j/core/config/AdvertiserTest.java       |  9 ++-
 .../config/xml/XmlConfigurationPropsTest.java   | 11 ++--
 .../core/filter/DynamicThresholdFilterTest.java |  3 +-
 .../log4j/core/filter/MapFilterTest.java        |  2 +-
 .../log4j/core/layout/GelfLayoutTest.java       |  5 +-
 .../log4j/core/layout/HtmlLayoutTest.java       |  5 +-
 .../log4j/core/layout/JsonLayoutTest.java       |  5 +-
 .../log4j/core/layout/PatternLayoutTest.java    |  5 +-
 .../log4j/core/layout/Rfc5424LayoutTest.java    |  5 +-
 .../log4j/core/layout/SerializedLayoutTest.java |  5 +-
 .../log4j/core/layout/SyslogLayoutTest.java     |  5 +-
 .../log4j/core/layout/XmlLayoutTest.java        |  5 +-
 .../net/server/AbstractSocketServerTest.java    |  3 +-
 .../core/net/server/SslXmlSocketServerTest.java |  3 +-
 .../net/server/TcpJsonSocketServerTest.java     |  3 +-
 .../server/TcpSerializedSocketServerTest.java   |  3 +-
 .../core/net/server/TcpXmlSocketServerTest.java |  3 +-
 .../net/server/UdpJsonSocketServerTest.java     |  3 +-
 .../server/UdpSerializedSocketServerTest.java   |  3 +-
 .../core/net/server/UdpXmlSocketServerTest.java |  3 +-
 .../pattern/EncodingPatternConverterTest.java   |  3 +-
 .../log4j/core/pattern/PatternParserTest.java   |  3 +-
 .../pattern/RegexReplacementConverterTest.java  |  3 +-
 .../log4j/test/appender/ListAppender.java       |  3 +-
 .../flume/appender/FlumeEmbeddedAgentTest.java  |  2 +-
 .../appender/FlumeEmbeddedAppenderTest.java     |  2 +-
 .../appender/FlumePersistentAppenderTest.java   |  2 +-
 .../flume/appender/FlumePersistentPerf.java     |  3 +-
 .../log4j/perf/jmh/JdbcAppenderBenchmark.java   |  4 +-
 .../log4j/perf/jmh/JpaAppenderBenchmark.java    |  4 +-
 .../logging/log4j/perf/jmh/SimpleBenchmark.java |  4 +-
 .../logging/log4j/taglib/CatchingTagTest.java   |  6 +-
 .../logging/log4j/taglib/EntryTagTest.java      |  6 +-
 .../logging/log4j/taglib/ExitTagTest.java       |  6 +-
 .../logging/log4j/taglib/IfEnabledTagTest.java  |  4 +-
 .../taglib/LoggingMessageTagSupportTest.java    |  6 +-
 60 files changed, 152 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-1.2-api/src/test/java/org/apache/log4j/VelocityTest.java
----------------------------------------------------------------------
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/VelocityTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/VelocityTest.java
index 74f977a..99bd5a2 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/VelocityTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/VelocityTest.java
@@ -18,7 +18,6 @@ package org.apache.log4j;
 
 import java.io.StringWriter;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.status.StatusLogger;
@@ -38,7 +37,7 @@ private static LoggerContext context;
     
     @BeforeClass
     public static void setupClass() {
-        context = (LoggerContext) LogManager.getContext(false);
+        context = LoggerContext.getContext(false);
     }
 
     @AfterClass

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java
index 07a8c74..3e46c42 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java
@@ -18,8 +18,6 @@ package org.apache.logging.log4j.core;
 
 import java.util.EventListener;
 
-import org.apache.logging.log4j.LogManager;
-
 /**
  * Base class for server classes that listen to {@link LogEvent}s.
  * TODO (MS) How is this class any different from Appender?
@@ -29,7 +27,7 @@ public class LogEventListener implements EventListener {
     private final LoggerContext context;
 
     protected LogEventListener() {
-        context = (LoggerContext) LogManager.getContext(false);
+        context = LoggerContext.getContext(false);
     }
 
     public void log(final LogEvent event) {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
index c61c764..0722323 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
@@ -63,6 +63,64 @@ public class LoggerContext extends AbstractLifeCycle implements org.apache.loggi
     public static final String PROPERTY_CONFIG = "config";
     private static final Configuration NULL_CONFIGURATION = new NullConfiguration();
 
+    /**
+     * Returns the current LoggerContext.
+     * <p>
+     * Avoids the type cast for:
+     *</p>
+     *<pre>(LoggerContext) LogManager.getContext();</pre>
+     *
+     * <p>
+     * WARNING - The LoggerContext returned by this method may not be the LoggerContext used to create a Logger
+     * for the calling class.
+     * </p>
+     * @return  The current LoggerContext.
+     * @see LogManager#getContext()
+     */
+    public static LoggerContext getContext() {
+        return (LoggerContext) LogManager.getContext();
+    }
+
+    /**
+     * Returns a LoggerContext.
+     * <p>
+     * Avoids the type cast for:
+     *</p>
+     *<pre>(LoggerContext) LogManager.getContext(currentContext);</pre>
+     *
+     * @param currentContext if false the LoggerContext appropriate for the caller of this method is returned. For
+     * example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be
+     * returned and if the caller is a class in the container's classpath then a different LoggerContext may be
+     * returned. If true then only a single LoggerContext will be returned.
+     * @return a LoggerContext.
+     * @see LogManager#getContext(boolean)
+     */
+    public static LoggerContext getContext(final boolean currentContext) {
+        return (LoggerContext) LogManager.getContext(currentContext);
+    }
+
+    /**
+     * Returns a LoggerContext.
+     * <p>
+     * Avoids the type cast for:
+     *</p>
+     *<pre>(LoggerContext) LogManager.getContext(loader, currentContext, configLocation);</pre>
+     *
+     * @param loader The ClassLoader for the context. If null the context will attempt to determine the appropriate
+     * ClassLoader.
+     * @param currentContext if false the LoggerContext appropriate for the caller of this method is returned. For
+     * example, in a web application if the caller is a class in WEB-INF/lib then one LoggerContext may be
+     * returned and if the caller is a class in the container's classpath then a different LoggerContext may be
+     * returned. If true then only a single LoggerContext will be returned.
+     * @param configLocation The URI for the configuration to use.
+     * @return a LoggerContext.
+     * @see LogManager#getContext(ClassLoader, boolean, URI)
+     */
+    public static LoggerContext getContext(final ClassLoader loader, final boolean currentContext,
+            final URI configLocation) {
+        return (LoggerContext) LogManager.getContext(loader, currentContext, configLocation);
+    }
+
     private final ConcurrentMap<String, Logger> loggers = new ConcurrentHashMap<>();
     private final CopyOnWriteArrayList<PropertyChangeListener> propertyChangeListeners = new CopyOnWriteArrayList<>();
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
index 33ea726..132d047 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
@@ -167,7 +167,7 @@ public final class Configurator {
      * @param level the new level
      */
     public static void setLevel(final String loggerName, final Level level) {
-        final LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext loggerContext = LoggerContext.getContext(false);
         final LoggerConfig loggerConfig = loggerContext.getConfiguration().getLoggerConfig(loggerName);
         setLevel(loggerContext, loggerConfig, level);
     }
@@ -177,7 +177,7 @@ public final class Configurator {
      * @param level the new level
      */
     public static void setRootLevel(final Level level) {
-        final LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext loggerContext = LoggerContext.getContext(false);
         final LoggerConfig loggerConfig = loggerContext.getConfiguration().getRootLogger();
         setLevel(loggerContext, loggerConfig, level);
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/LateConfigTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/LateConfigTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/LateConfigTest.java
index 016ba9a..03d1575 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/LateConfigTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/LateConfigTest.java
@@ -21,7 +21,6 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.core.config.DefaultConfiguration;
@@ -41,7 +40,7 @@ public class LateConfigTest {
 
     @BeforeClass
     public static void setupClass() {
-        context = (LoggerContext) LogManager.getContext(false);
+        context = LoggerContext.getContext(false);
     }
 
     @AfterClass
@@ -56,12 +55,12 @@ public class LateConfigTest {
         assertNotNull("No configuration", cfg);
         assertTrue("Not set to default configuration", cfg instanceof DefaultConfiguration);
         final File file = new File(CONFIG);
-        final LoggerContext loggerContext = (LoggerContext) LogManager.getContext(null, false, file.toURI());
+        final LoggerContext loggerContext = LoggerContext.getContext(null, false, file.toURI());
         assertNotNull("No Logger Context", loggerContext);
         final Configuration newConfig = loggerContext.getConfiguration();
         assertTrue("Configuration not reset", cfg != newConfig);
         assertTrue("Reconfiguration failed", newConfig instanceof XmlConfiguration);
-        context = (LoggerContext) LogManager.getContext(false);
+        context = LoggerContext.getContext(false);
         final Configuration sameConfig = context.getConfiguration();
         assertTrue("Configuration should not have been reset", newConfig == sameConfig);
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
index 5d9772c..e6ff19c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
@@ -52,7 +52,7 @@ public class LoggerUpdateTest {
         List<LogEvent> events = app.getEvents();
         assertEquals("Incorrect number of events. Expected 1, actual " + events.size(), 1, events.size());
         app.clear();
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext ctx = LoggerContext.getContext(false);
         final Configuration config = ctx.getConfiguration();
         final LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME);
         /* You could also specify the actual logger name as below and it will return the LoggerConfig used by the Logger.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
index d4872eb..895e649 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
@@ -44,7 +44,7 @@ public class AsyncAppenderTest {
     @BeforeClass
     public static void setupClass() {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         config = ctx.getConfiguration();
         listAppender = (ListAppender) config.getAppender("List");
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
index 3b34cd5..cad76bc 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderLocationTest.java
@@ -69,7 +69,7 @@ public class MemoryMappedFileAppenderLocationTest {
             log.warn("Test log2");
             assertEquals("not grown", expectedFileLength, f.length());
         } finally {
-            ((LoggerContext) LogManager.getContext(false)).stop();
+            (LoggerContext.getContext(false)).stop();
         }
         final int LINESEP = System.getProperty("line.separator").length();
         assertEquals("Shrunk to actual used size", 474 + 2 * LINESEP, f.length());

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
index 58a2db6..3257fc6 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderRemapTest.java
@@ -69,7 +69,7 @@ public class MemoryMappedFileAppenderRemapTest {
             log.warn(new String(text));
             assertEquals("grown again", 256 * 3, f.length());
         } finally {
-            ((LoggerContext) LogManager.getContext(false)).stop();
+            (LoggerContext.getContext(false)).stop();
         }
         final int LINESEP = System.getProperty("line.separator").length();
         assertEquals("Shrunk to actual used size", 658 + 3 * LINESEP, f.length());

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
index 2c06ab5..b444203 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppenderSimpleTest.java
@@ -64,7 +64,7 @@ public class MemoryMappedFileAppenderSimpleTest {
             log.warn("Test log2");
             assertEquals("not grown", MemoryMappedFileManager.DEFAULT_REGION_LENGTH, f.length());
         } finally {
-            ((LoggerContext) LogManager.getContext(false)).stop();
+            (LoggerContext.getContext(false)).stop();
         }
         final int LINESEP = System.getProperty("line.separator").length();
         assertEquals("Shrunk to actual used size", 186 + 2 * LINESEP, f.length());

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SmtpAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SmtpAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SmtpAppenderTest.java
index 722b3ba..f433a40 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SmtpAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SmtpAppenderTest.java
@@ -26,7 +26,6 @@ import javax.mail.internet.InternetAddress;
 import org.apache.logging.dumbster.smtp.SimpleSmtpServer;
 import org.apache.logging.dumbster.smtp.SmtpMessage;
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Logger;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.net.MimeMessageBuilder;
@@ -137,7 +136,7 @@ public class SmtpAppenderTest {
                 HOST, PORT, null, null, "false", "3", null, null, "true");
         appender.start();
 
-        final LoggerContext context = (LoggerContext) LogManager.getContext();
+        final LoggerContext context = LoggerContext.getContext();
         final Logger root = context.getLogger("SMTPAppenderTest");
         root.addAppender(appender);
         root.setAdditive(false);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
index eeb9b75..472fb18 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
@@ -36,7 +36,6 @@ import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.LoggingException;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
@@ -66,7 +65,7 @@ public class SocketAppenderTest {
     private static TCPSocketServer tcpServer;
     private static UDPSocketServer udpServer;
 
-    LoggerContext context = (LoggerContext) LogManager.getContext();
+    LoggerContext context = LoggerContext.getContext();
     Logger root = context.getLogger("SocketAppenderTest");
 
     private static int tcpCount = 0;
@@ -78,7 +77,7 @@ public class SocketAppenderTest {
         tcpServer.start();
         udpServer = new UDPSocketServer();
         udpServer.start();
-        ((LoggerContext) LogManager.getContext()).reconfigure();
+        (LoggerContext.getContext()).reconfigure();
     }
 
     @AfterClass

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTestBase.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTestBase.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTestBase.java
index c62b135..c1e1023 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTestBase.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTestBase.java
@@ -22,7 +22,6 @@ import java.util.Locale;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
@@ -39,7 +38,7 @@ public class SyslogAppenderTestBase {
     protected static final String line1 =
             "TestApp - Audit [Transfer@18060 Amount=\"200.00\" FromAccount=\"123457\" ToAccount=\"123456\"]" +
                     "[RequestContext@18060 ipAddress=\"192.168.0.120\" loginId=\"JohnDoe\"] Transfer Complete";
-    protected LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    protected LoggerContext ctx = LoggerContext.getContext();
     protected static final int DEFAULT_TIMEOUT_IN_MS = 100;
     protected static final int PORTNUM = 8199;
     protected MockSyslogServer syslogServer;
@@ -50,7 +49,7 @@ public class SyslogAppenderTestBase {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext()).reconfigure();
+        (LoggerContext.getContext()).reconfigure();
     }
 
     protected void sendAndCheckLegacyBSDMessages(final List<String> messagesToSend) throws InterruptedException {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java
index 17dac28..b66fba8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java
@@ -66,7 +66,7 @@ public abstract class AbstractJdbcAppenderTest {
         }
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
                 "org/apache/logging/log4j/core/appender/db/jdbc/" + configFileName);
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         if (context.getConfiguration() instanceof DefaultConfiguration) {
             context.reconfigure();
         }
@@ -75,7 +75,7 @@ public abstract class AbstractJdbcAppenderTest {
 
     @After
     public void tearDown() throws SQLException {
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         try {
             final Appender appender = context.getConfiguration().getAppender("databaseAppender");
             assertNotNull("The appender should not be null.", appender);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java
index 9c0cf92..7da9cb5 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java
@@ -26,7 +26,6 @@ import javax.naming.NamingException;
 import javax.sql.DataSource;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
 import org.apache.logging.log4j.status.StatusLogger;
@@ -67,7 +66,7 @@ public class DataSourceConnectionSourceTest {
     @BeforeClass
     public static void beforeClass() {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
         final StatusLogger logger = StatusLogger.getLogger();
         logger.setLevel(Level.FATAL);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSourceTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSourceTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSourceTest.java
index f4c96ea..cb02543 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSourceTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSourceTest.java
@@ -22,7 +22,6 @@ import java.sql.SQLException;
 import javax.sql.DataSource;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
 import org.apache.logging.log4j.status.StatusLogger;
@@ -43,7 +42,7 @@ public class FactoryMethodConnectionSourceTest {
     @BeforeClass
     public static void beforeClass() {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
         final StatusLogger logger = StatusLogger.getLogger();
         logger.setLevel(Level.FATAL);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractJpaAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractJpaAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractJpaAppenderTest.java
index 640a32d..8fb2aaa 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractJpaAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractJpaAppenderTest.java
@@ -49,7 +49,7 @@ public abstract class AbstractJpaAppenderTest {
 
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
                 "org/apache/logging/log4j/core/appender/db/jpa/" + configFileName);
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         if (context.getConfiguration() instanceof DefaultConfiguration) {
             context.reconfigure();
         }
@@ -57,7 +57,7 @@ public abstract class AbstractJpaAppenderTest {
     }
 
     public void tearDown() throws SQLException {
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         try {
             final Appender appender = context.getConfiguration().getAppender("databaseAppender");
             assertNotNull("The appender should not be null.", appender);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderUncompressedTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderUncompressedTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderUncompressedTest.java
index 9394434..2d6bf8f 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderUncompressedTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderUncompressedTest.java
@@ -43,7 +43,7 @@ public class RollingAppenderUncompressedTest {
     public static void setupClass() {
         deleteDir();
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         final Configuration config = ctx.getConfiguration();
     }
 
@@ -51,7 +51,7 @@ public class RollingAppenderUncompressedTest {
     public static void cleanupClass() {
         //deleteDir();
         System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
         StatusLogger.getLogger().reset();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
index 9a3af8f..41d995b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.appender.rolling;
 import java.io.File;
 import java.io.IOException;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.appender.RollingFileAppender;
 import org.apache.logging.log4j.core.config.Configuration;
@@ -34,7 +33,7 @@ public class RollingFileAppenderAccessTest {
      */
     @Test
     public void testAccessManager() throws IOException {
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext ctx = LoggerContext.getContext(false);
         final Configuration config = ctx.getConfiguration();
         final File file = File.createTempFile("RollingFileAppenderAccessTest", ".tmp");
         file.deleteOnExit();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppender2Test.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppender2Test.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppender2Test.java
index 92c9a27..03895ec 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppender2Test.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppender2Test.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.appender.routing;
 import java.io.File;
 import java.util.List;
 import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configuration;
@@ -45,7 +44,7 @@ public class JsonRoutingAppender2Test {
     @BeforeClass
     public static void setupClass() {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         config = ctx.getConfiguration();
         listAppender = (ListAppender) config.getAppender("List");
         final File file = new File("target/rolling1/rollingtest-Unknown.log");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppenderTest.java
index 4c37980..ccb29f6 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/JsonRoutingAppenderTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.appender.routing;
 import java.io.File;
 import java.util.List;
 import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configuration;
@@ -45,7 +44,7 @@ public class JsonRoutingAppenderTest {
     @BeforeClass
     public static void setupClass() {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         config = ctx.getConfiguration();
         listAppender = (ListAppender) config.getAppender("List");
         final File file = new File("target/rolling1/rollingtest-Unknown.log");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest2.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest2.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest2.java
index 30577d5..9ca57e8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest2.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest2.java
@@ -47,7 +47,7 @@ public class AsyncLoggerConfigTest2 {
         final String msg = "Message before reconfig";
         log.info(msg);
 
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
         ctx.reconfigure();
         

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncAppenderTest.java
index 70557c9..0ae3895 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncAppenderTest.java
@@ -42,7 +42,7 @@ public class AsyncLoggersWithAsyncAppenderTest {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
                 "AsyncLoggersWithAsyncAppenderTest.xml");
         System.setProperty(Constants.LOG4J_CONTEXT_SELECTOR, AsyncLoggerContextSelector.class.getName());
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         config = ctx.getConfiguration();
         listAppender = (ListAppender) config.getAppender("List");
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncLoggerConfigTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncLoggerConfigTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncLoggerConfigTest.java
index 23f5e97..816e393 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncLoggerConfigTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggersWithAsyncLoggerConfigTest.java
@@ -42,7 +42,7 @@ public class AsyncLoggersWithAsyncLoggerConfigTest {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY,
                 "AsyncLoggersWithAsyncLoggerConfigTest.xml");
         System.setProperty(Constants.LOG4J_CONTEXT_SELECTOR, AsyncLoggerContextSelector.class.getName());
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         config = ctx.getConfiguration();
         listAppender = (ListAppender) config.getAppender("List");
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
index fec31cf..ad2ad7c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.config;
 import java.io.File;
 import java.util.Map;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.xml.XmlConfiguration;
 import org.apache.logging.log4j.status.StatusLogger;
@@ -42,7 +41,7 @@ public class AdvertiserTest {
         final File file = new File(STATUS_LOG);
         file.delete();
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         final Configuration config = ctx.getConfiguration();
         if (config instanceof XmlConfiguration) {
             final String name = config.getName();
@@ -57,7 +56,7 @@ public class AdvertiserTest {
     @AfterClass
     public static void cleanupClass() {
         System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
         StatusLogger.getLogger().reset();
         final File file = new File(STATUS_LOG);
@@ -101,7 +100,7 @@ public class AdvertiserTest {
     public void testAdvertisementsRemovedOnConfigStop() {
         verifyExpectedEntriesAdvertised(InMemoryAdvertiser.getAdvertisedEntries());
 
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.stop();
 
         final Map<Object, Map<String, String>> entries = InMemoryAdvertiser.getAdvertisedEntries();
@@ -115,7 +114,7 @@ public class AdvertiserTest {
     public void testAdvertisementsAddedOnReconfigAfterStop() {
         verifyExpectedEntriesAdvertised(InMemoryAdvertiser.getAdvertisedEntries());
 
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.stop();
 
         final Map<Object, Map<String, String>> entries = InMemoryAdvertiser.getAdvertisedEntries();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java
index 0b3183d..37781a9 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.logging.log4j.core.config.xml;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
@@ -38,7 +37,7 @@ public class XmlConfigurationPropsTest {
     @AfterClass
     public static void cleanupClass() {
         System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
         StatusLogger.getLogger().reset();
     }
@@ -46,7 +45,7 @@ public class XmlConfigurationPropsTest {
     @Test
     public void testNoProps() {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
         final Configuration config = ctx.getConfiguration();
         assertTrue("Configuration is not an XmlConfiguration", config instanceof XmlConfiguration);
@@ -58,7 +57,7 @@ public class XmlConfigurationPropsTest {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG1);
         System.setProperty(Constants.LOG4J_DEFAULT_STATUS_LEVEL, "WARN");
         try {
-            final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+            final LoggerContext ctx = LoggerContext.getContext();
             ctx.reconfigure();
             final Configuration config = ctx.getConfiguration();
             assertTrue("Configuration is not an XmlConfiguration", config instanceof XmlConfiguration);
@@ -72,7 +71,7 @@ public class XmlConfigurationPropsTest {
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
         System.setProperty("log4j.level", "warn");
         try {
-            final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+            final LoggerContext ctx = LoggerContext.getContext();
             ctx.reconfigure();
             final Configuration config = ctx.getConfiguration();
             assertTrue("Configuration is not an XmlConfiguration", config instanceof XmlConfiguration);
@@ -88,7 +87,7 @@ public class XmlConfigurationPropsTest {
         System.setProperty("log4j.level", "warn");
         System.setProperty("log.level", "warn");
         try {
-            final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+            final LoggerContext ctx = LoggerContext.getContext();
             ctx.reconfigure();
             final Configuration config = ctx.getConfiguration();
             assertTrue("Configuration is not an XmlConfiguration", config instanceof XmlConfiguration);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
index 9f0859a..61a9a46 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
@@ -24,7 +24,6 @@ import static org.junit.Assert.assertTrue;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Filter;
 import org.apache.logging.log4j.core.LogEvent;
@@ -45,7 +44,7 @@ public class DynamicThresholdFilterTest {
 
     @After
     public void cleanup() {
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
         StatusLogger.getLogger().reset();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/MapFilterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/MapFilterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/MapFilterTest.java
index fa8ec07..56ddbc0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/MapFilterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/MapFilterTest.java
@@ -44,7 +44,7 @@ public class MapFilterTest {
 
     @After
     public void cleanup() {
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
         StatusLogger.getLogger().reset();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
index 19a35dc..2aa7eda 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
@@ -27,7 +27,6 @@ import java.util.zip.InflaterInputStream;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
 import org.apache.logging.log4j.core.BasicConfigurationFactory;
@@ -70,11 +69,11 @@ public class GelfLayoutTest {
     public static void setupClass() {
         ThreadContext.clearAll();
         ConfigurationFactory.setConfigurationFactory(configFactory);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
 
     Logger root = ctx.getLogger("");
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
index 7e02455..7253b56 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
@@ -21,7 +21,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
 import org.apache.logging.log4j.core.BasicConfigurationFactory;
@@ -39,7 +38,7 @@ import static org.junit.Assert.*;
  *
  */
 public class HtmlLayoutTest {
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
     Logger root = ctx.getLogger("");
 
     static ConfigurationFactory cf = new BasicConfigurationFactory();
@@ -48,7 +47,7 @@ public class HtmlLayoutTest {
     public static void setupClass() {
         ThreadContext.clearAll();
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/JsonLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/JsonLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/JsonLayoutTest.java
index 170d0e3..87b075c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/JsonLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/JsonLayoutTest.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
 import org.apache.logging.log4j.core.BasicConfigurationFactory;
@@ -61,11 +60,11 @@ public class JsonLayoutTest {
     public static void setupClass() {
         ThreadContext.clearAll();
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
 
     Logger rootLogger = this.ctx.getLogger("");
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
index 6707ee8..3de533c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
@@ -24,7 +24,6 @@ import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.BasicConfigurationFactory;
 import org.apache.logging.log4j.core.LogEvent;
@@ -55,11 +54,11 @@ public class PatternLayoutTest {
     @BeforeClass
     public static void setupClass() {
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
 
     Logger root = ctx.getLogger("");
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
index f2deedb..f310846 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
@@ -21,7 +21,6 @@ import java.util.List;
 import java.util.Locale;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
@@ -43,7 +42,7 @@ import org.junit.Test;
 import static org.junit.Assert.*;
 
 public class Rfc5424LayoutTest {
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
     Logger root = ctx.getLogger("");
 
 
@@ -65,7 +64,7 @@ public class Rfc5424LayoutTest {
         ThreadContext.clearAll();
         StatusLogger.getLogger().setLevel(Level.OFF);
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SerializedLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SerializedLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SerializedLayoutTest.java
index b7a2591..2ea4685 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SerializedLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SerializedLayoutTest.java
@@ -26,7 +26,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.LoggingException;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
@@ -49,7 +48,7 @@ import static org.junit.Assert.*;
  */
 public class SerializedLayoutTest {
     private static final String DAT_PATH = "target/test-classes/serializedEvent.dat";
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
     Logger root = ctx.getLogger("");
 
     static ConfigurationFactory cf = new BasicConfigurationFactory();
@@ -58,7 +57,7 @@ public class SerializedLayoutTest {
     public static void setupClass() {
         ThreadContext.clearAll();
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SyslogLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SyslogLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SyslogLayoutTest.java
index 6a76121..d7a87fc 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SyslogLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/SyslogLayoutTest.java
@@ -20,7 +20,6 @@ import java.util.List;
 import java.util.Locale;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.Appender;
@@ -41,7 +40,7 @@ import static org.junit.Assert.*;
  *
  */
 public class SyslogLayoutTest {
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
     Logger root = ctx.getLogger("");
 
 
@@ -57,7 +56,7 @@ public class SyslogLayoutTest {
     public static void setupClass() {
         ThreadContext.clearAll();
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/XmlLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/XmlLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/XmlLayoutTest.java
index d5c83ca..4ea4ca5 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/XmlLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/XmlLayoutTest.java
@@ -22,7 +22,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.ThreadContext;
@@ -64,11 +63,11 @@ public class XmlLayoutTest {
     public static void setupClass() {
         ThreadContext.clearAll();
         ConfigurationFactory.setConfigurationFactory(cf);
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         ctx.reconfigure();
     }
 
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
 
     Logger rootLogger = this.ctx.getLogger("");
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
index 2bcdd43..695e7e8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
@@ -23,7 +23,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Appender;
 import org.apache.logging.log4j.core.Filter;
 import org.apache.logging.log4j.core.Layout;
@@ -76,7 +75,7 @@ public abstract class AbstractSocketServerTest {
 
     static final String PORT = String.valueOf(PORT_NUM);
 
-    private final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
+    private final LoggerContext ctx = LoggerContext.getContext(false);
 
     private final boolean expectLengthException;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
index df54271..853e5df 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
@@ -21,7 +21,6 @@ import java.io.InputStream;
 import java.io.Serializable;
 import java.nio.charset.Charset;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Filter;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
@@ -57,7 +56,7 @@ public class SslXmlSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         initServerSocketFactory();
         // Use a large buffer just to test the code, the UDP test uses a tiny buffer
         server = new SecureTcpSocketServer<>(PORT_NUM, new XmlInputStreamLogEventBridge(1024 * 100,

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpJsonSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpJsonSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpJsonSocketServerTest.java
index c18cb19..3f579c0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpJsonSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpJsonSocketServerTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.net.server;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.junit.AfterClass;
@@ -31,7 +30,7 @@ public class TcpJsonSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         server = TcpSocketServer.createJsonSocketServer(PORT_NUM);
         thread = server.startNewThread();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpSerializedSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpSerializedSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpSerializedSocketServerTest.java
index e0eaa05..460703c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpSerializedSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpSerializedSocketServerTest.java
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.Serializable;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.junit.AfterClass;
@@ -32,7 +31,7 @@ public class TcpSerializedSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         server = TcpSocketServer.createSerializedSocketServer(PORT_NUM);
         thread = server.startNewThread();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpXmlSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpXmlSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpXmlSocketServerTest.java
index a7eb49a..677121e 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpXmlSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/TcpXmlSocketServerTest.java
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.Charset;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.junit.AfterClass;
@@ -32,7 +31,7 @@ public class TcpXmlSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         // Use a large buffer just to test the code, the UDP test uses a tiny buffer
         server = new TcpSocketServer<>(PORT_NUM, new XmlInputStreamLogEventBridge(1024 * 100,
                 Charset.defaultCharset()));

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpJsonSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpJsonSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpJsonSocketServerTest.java
index 99c266c..c9ff94b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpJsonSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpJsonSocketServerTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.net.server;
 import java.io.InputStream;
 import java.io.Serializable;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.junit.AfterClass;
@@ -31,7 +30,7 @@ public class UdpJsonSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         server = UdpSocketServer.createJsonSocketServer(PORT_NUM);
         thread = server.startNewThread();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpSerializedSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpSerializedSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpSerializedSocketServerTest.java
index 49b8f9a..ad49838 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpSerializedSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpSerializedSocketServerTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.net.server;
 import java.io.ObjectInputStream;
 import java.io.Serializable;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.junit.AfterClass;
@@ -31,7 +30,7 @@ public class UdpSerializedSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         server = UdpSocketServer.createSerializedSocketServer(PORT_NUM);
         thread = server.startNewThread();
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpXmlSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpXmlSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpXmlSocketServerTest.java
index dfe7475..526567a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpXmlSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/UdpXmlSocketServerTest.java
@@ -20,7 +20,6 @@ import java.io.InputStream;
 import java.io.Serializable;
 import java.nio.charset.Charset;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.junit.AfterClass;
@@ -32,7 +31,7 @@ public class UdpXmlSocketServerTest extends AbstractSocketServerTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        (LoggerContext.getContext(false)).reconfigure();
         // Use a tiny buffer just to test the code, the TCP test uses a large buffer
         server = new UdpSocketServer<>(PORT_NUM, new XmlInputStreamLogEventBridge(100,
                 Charset.defaultCharset()));

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverterTest.java
index 86c9b84..33a9569 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverterTest.java
@@ -17,7 +17,6 @@
 package org.apache.logging.log4j.core.pattern;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
@@ -39,7 +38,7 @@ public class EncodingPatternConverterTest {
                 .setMessage(new SimpleMessage("Test \r\n<div class=\"test\">this</div> & <div class='test'>that</div>"))
                 .build();
         final StringBuilder sb = new StringBuilder();
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         final String[] options = new String[]{"%msg"};
         final EncodingPatternConverter converter = EncodingPatternConverter
             .newInstance(ctx.getConfiguration(), options);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
index c9a927e..ec39c0c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
@@ -22,7 +22,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.Logger;
@@ -43,7 +42,7 @@ public class PatternParserTest {
 
     static String OUTPUT_FILE   = "output/PatternParser";
     static String WITNESS_FILE  = "witness/PatternParser";
-    LoggerContext ctx = (LoggerContext) LogManager.getContext();
+    LoggerContext ctx = LoggerContext.getContext();
     Logger root = ctx.getLogger("");
 
     private static String msgPattern = "%m%n";

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
index 768b71d..aa7fe1a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
@@ -17,7 +17,6 @@
 package org.apache.logging.log4j.core.pattern;
 
 import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.LoggerContext;
@@ -42,7 +41,7 @@ public class RegexReplacementConverterTest {
                 .setMessage(new SimpleMessage("This is a test")) //
                 .build();
         final StringBuilder sb = new StringBuilder();
-        final LoggerContext ctx = (LoggerContext) LogManager.getContext();
+        final LoggerContext ctx = LoggerContext.getContext();
         final String[] options = new String[] {
             "%logger %msg%n", "\\.", "/"
         };

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
index 90dab57..df2d148 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
@@ -21,7 +21,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.Filter;
 import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LogEvent;
@@ -182,6 +181,6 @@ public class ListAppender extends AbstractAppender {
      * @see org.apache.logging.log4j.junit.InitialLoggerContext#getListAppender(String)
      */
     public static ListAppender getListAppender(final String name) {
-        return ((ListAppender) ((LoggerContext) LogManager.getContext(false)).getConfiguration().getAppender(name));
+        return ((ListAppender) (LoggerContext.getContext(false)).getConfiguration().getAppender(name));
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
index 331de21..313a8ab 100644
--- a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
+++ b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
@@ -102,7 +102,7 @@ public class FlumeEmbeddedAgentTest {
         primary = new EventCollector(primaryPort);
         alternate = new EventCollector(altPort);
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
index 7352ce3..3f6627b 100644
--- a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
+++ b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
@@ -102,7 +102,7 @@ public class FlumeEmbeddedAppenderTest {
         primary = new EventCollector(primaryPort);
         alternate = new EventCollector(altPort);
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
index 4e66856..e6b80ee 100644
--- a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
+++ b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
@@ -104,7 +104,7 @@ public class FlumePersistentAppenderTest {
         primary = new EventCollector(primaryPort);
         alternate = new EventCollector(altPort);
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
index 8e7c4ec..fe248d2 100644
--- a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
+++ b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
@@ -44,7 +44,6 @@ import org.apache.flume.source.avro.AvroFlumeEvent;
 import org.apache.flume.source.avro.AvroSourceProtocol;
 import org.apache.flume.source.avro.Status;
 import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
 import org.apache.logging.log4j.message.StructuredDataMessage;
@@ -100,7 +99,7 @@ public class FlumePersistentPerf {
         primary = new EventCollector(primaryPort);
         alternate = new EventCollector(altPort);
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
-        ctx = (LoggerContext) LogManager.getContext(false);
+        ctx = LoggerContext.getContext(false);
         ctx.reconfigure();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
index 3b3fe90..148ad2d 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
@@ -67,7 +67,7 @@ public class JdbcAppenderBenchmark {
         createTable(connectionH2, toCreateTableSqlStringH2("fmLogEntry"));
 
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, "log4j2-jdbc-appender.xml");
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         if (context.getConfiguration() instanceof DefaultConfiguration) {
             context.reconfigure();
         }
@@ -134,7 +134,7 @@ public class JdbcAppenderBenchmark {
 
     @TearDown
     public void tearDown() throws SQLException {
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         try {
             ((JdbcAppender) context.getConfiguration().getAppender("H2Appender")).getManager().release();
             ((JdbcAppender) context.getConfiguration().getAppender("HSQLDBAppender")).getManager().release();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
index fe45b77..6267232 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
@@ -65,7 +65,7 @@ public class JpaAppenderBenchmark {
         connectionH2 = getConnectionH2();
 
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, "log4j2-jpa-appender.xml");
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         if (context.getConfiguration() instanceof DefaultConfiguration) {
             context.reconfigure();
         }
@@ -132,7 +132,7 @@ public class JpaAppenderBenchmark {
 
     @TearDown
     public void tearDown() throws SQLException {
-        final LoggerContext context = (LoggerContext) LogManager.getContext(false);
+        final LoggerContext context = LoggerContext.getContext(false);
         try {
             ((JpaAppender) context.getConfiguration().getAppender("H2Appender")).getManager().release();
             ((JpaAppender) context.getConfiguration().getAppender("HSQLDBAppender")).getManager().release();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0316f53/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
index 1a082a7..543fe8d 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
@@ -51,10 +51,10 @@ public class SimpleBenchmark {
 
     @Setup
     public void setup() {
-        final Configuration config = ((LoggerContext) LogManager.getContext()).getConfiguration();
+        final Configuration config = (LoggerContext.getContext()).getConfiguration();
         if (!DefaultConfiguration.DEFAULT_NAME.equals(config.getName())) {
             System.out.println("Configuration was " + config.getName());
-            ((LoggerContext) LogManager.getContext()).start(new DefaultConfiguration());
+            (LoggerContext.getContext()).start(new DefaultConfiguration());
         }
         logger = LogManager.getLogger(SimpleBenchmark.class.getName());
     }