This PR was previously reviewed and committed as #2778. I reverted it to fix a bug in Log4jAgent#configure which was unconditionally updating the log level which resulted in commands such as validate-disk-store logging info level log statements. This is now fixed.
Fixes: * GEODE-2644: Provide ability to configure Geode appenders in log4j2.xml * GEODE-5789: gfsh command "change loglevel" only updates the cache.getLogger * GEODE-5637: Flaky: SingleHopClientExecutorWithLoggingIntegrationTest fails intermittently High level description of these changes: 1. Follow log4j2 best practices Make the Geode appenders configurable from log4j2.xml and pausable so that we can delete the majority of manipulating log4j2 core code. Geode used to dynamically add/remove appenders, now we pause/resume appenders that remain registered. Also, use log4j2 core testing JUnit Rule for integration tests involving a log4j2.xml config file. 2. Make log4j2 core dependency optional Replace direct manipulation of singletons from Geode code with a simple internal LoggingSession API that makes log4j2 core optional and makes Geode logging/alerting pluggable for other logging engines such as Logback. [ Full content available at: https://github.com/apache/geode/pull/2867 ] This message was relayed via gitbox.apache.org for [email protected]
