I think we should try really hard to avoid using PowerMock. If you have some code that you need to use PowerMock to make it testable, please consider refactoring the code to a) avoid statics, b) pass all dependencies in via the constructor.
The following was spit out by one of my unit test runs. None of the logging or log4j tests in my PR involve PowerMock. Also, this unit test run had no FAILED tests, so this would appear to be generated by some unit test that uses PowerMock and PASSED. > Task :geode-core:test 2018-11-06 18:03:49,443 Distributed system shutdown hook ERROR Could not reconfigure JMX java.lang.LinkageError: loader constraint violation: loader (instance of org/powermock/core/classloader/MockClassLoader) previously initiated loading for a different type with name "javax/management/MBeanServer" at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at org.powermock.core.classloader.MockClassLoader.loadUnmockedClass(MockClassLoader.java:262) at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:206) at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass1(DeferSupportingClassLoader.java:89) at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:79) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.logging.log4j.core.jmx.Server.unregisterAllMatching(Server.java:335) at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:259) at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:164) at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:558) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:619) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:243) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:174) at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:661) at org.apache.geode.internal.logging.LogService.getLogger(LogService.java:64) at org.apache.geode.internal.tcp.ConnectionTable.<clinit>(ConnectionTable.java:61) at org.apache.geode.distributed.DistributedSystem.setThreadsSocketPolicy(DistributedSystem.java:263) at org.apache.geode.distributed.internal.InternalDistributedSystem.lambda$static$0(InternalDistributedSystem.java:2320) at java.lang.Thread.run(Thread.java:748)