You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by pr...@apache.org on 2018/03/02 17:30:02 UTC

[geode] branch develop updated: GEODE-4517: Remove getAnyInstancce call from CliUtil.

This is an automated email from the ASF dual-hosted git repository.

prhomberg pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 7ec3956  GEODE-4517: Remove getAnyInstancce call from CliUtil.
7ec3956 is described below

commit 7ec3956ea78ba3b3b448a0aef9d3703d8ed5a385
Author: Patrick Rhomberg <pr...@pivotal.io>
AuthorDate: Fri Mar 2 09:29:57 2018 -0800

    GEODE-4517: Remove getAnyInstancce call from CliUtil.
    
    * CliUtil.getCacheIfExists now takes supplier, but will squelch error and return null as before.
    * LogWriter.getInstance now explicitly takes a Cache, to hook into the cache's LogWriter.  This perhaps should be replaced by the LogService logger in a future commit.
    * GfshExecutionStrategy adopts the Gfsh shell's LogWriter, since the shell will necessarily have finished instantiating the LogWriter's singleton before GfshExecutionStrategy can instantiate.
    * In some instances, the LogWriter has been replaced with the Log4j LogService logger.
    * Launcher explicitly passes a null Cache, since it does not yet exist.
    * Other minor improvements: visibility, typo corrections, etc.
---
 .../geode/internal/GfeConsoleReaderFactory.java    |  7 ++-
 .../internal/beans/MemberMBeanBridge.java          |  2 +-
 .../geode/management/internal/cli/CliUtil.java     | 70 +++++++++-------------
 .../management/internal/cli/CommandManager.java    | 12 ++--
 .../geode/management/internal/cli/Launcher.java    |  3 +-
 .../geode/management/internal/cli/LogWrapper.java  |  7 +--
 .../cli/commands/AlterRuntimeConfigCommand.java    |  2 +-
 .../cli/commands/ChangeLogLevelCommand.java        |  3 +-
 .../cli/commands/CloseDurableCQsCommand.java       |  2 +-
 .../cli/commands/CloseDurableClientCommand.java    |  2 +-
 .../cli/commands/CompactDiskStoreCommand.java      |  4 +-
 .../commands/CompactOfflineDiskStoreCommand.java   |  2 +-
 .../internal/cli/commands/ConfigurePDXCommand.java |  2 +-
 .../internal/cli/commands/ConnectCommand.java      |  8 +--
 .../cli/commands/CountDurableCQEventsCommand.java  |  2 +-
 .../internal/cli/commands/CreateRegionCommand.java |  2 +-
 .../internal/cli/commands/DeployCommand.java       |  2 +-
 .../cli/commands/DescribeClientCommand.java        | 14 +++--
 .../internal/cli/commands/DestroyIndexCommand.java |  2 +-
 .../internal/cli/commands/DisconnectCommand.java   |  5 +-
 .../internal/cli/commands/ExportConfigCommand.java |  2 +-
 .../commands/ExportOfflineDiskStoreCommand.java    |  3 +-
 .../internal/cli/commands/GCCommand.java           | 11 ++--
 .../internal/cli/commands/GfshCommand.java         |  6 +-
 .../cli/commands/ListAsyncEventQueuesCommand.java  |  2 +-
 .../internal/cli/commands/ListClientCommand.java   |  6 +-
 .../internal/cli/commands/ListDeployedCommand.java |  2 +-
 .../cli/commands/ListDurableClientCQsCommand.java  |  2 +-
 .../internal/cli/commands/ListFunctionCommand.java |  2 +-
 .../internal/cli/commands/ListRegionCommand.java   |  4 +-
 .../internal/cli/commands/NetstatCommand.java      |  4 +-
 .../internal/cli/commands/RebalanceCommand.java    | 33 ++++++----
 .../cli/commands/ResumeGatewaySenderCommand.java   |  2 +-
 .../internal/cli/commands/ShCommand.java           |  3 +-
 .../internal/cli/commands/SleepCommand.java        |  4 +-
 .../cli/commands/StartGatewayReceiverCommand.java  |  2 +-
 .../cli/commands/StatusGatewayReceiverCommand.java |  2 +-
 .../cli/commands/StatusGatewaySenderCommand.java   |  2 +-
 .../cli/commands/StopGatewayReceiverCommand.java   |  2 +-
 .../cli/commands/StopGatewaySenderCommand.java     |  2 +-
 .../internal/cli/commands/UndeployCommand.java     |  2 +-
 .../commands/UpgradeOfflineDiskStoreCommand.java   |  5 +-
 .../functions/GetMemberInformationFunction.java    | 10 +---
 .../management/internal/cli/json/GfJsonArray.java  | 23 ++-----
 .../internal/cli/remote/MemberCommandService.java  |  2 +-
 .../cli/remote/OnlineCommandProcessor.java         | 18 ++----
 .../internal/cli/result/CommandResult.java         | 26 +++-----
 .../geode/management/internal/cli/shell/Gfsh.java  | 19 +++---
 .../internal/cli/shell/GfshExecutionStrategy.java  |  4 +-
 .../internal/cli/shell/JmxOperationInvoker.java    | 20 +++----
 .../management/internal/cli/util/MergeLogs.java    | 46 +++++++-------
 .../management/internal/cli/CliUtilDUnitTest.java  | 35 ++++++-----
 .../cli/commands/ShowLogCommandDUnitTest.java      |  6 +-
 .../cli/remote/OnlineCommandProcessorTest.java     |  3 +-
 .../cli/shell/GfshExecutionStrategyTest.java       | 14 +++--
 .../internal/cli/shell/GfshInitFileJUnitTest.java  |  7 ++-
 .../commands/DescribeClientCommandDUnitTest.java   | 11 ++--
 .../cli/commands/ListClientCommandDUnitTest.java   |  5 +-
 58 files changed, 235 insertions(+), 270 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java b/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
index 5ce1e0d..ec25b0c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/GfeConsoleReaderFactory.java
@@ -37,12 +37,13 @@ public class GfeConsoleReaderFactory {
   }
 
   public static GfeConsoleReader createConsoleReader() {
-    GfeConsoleReader consoleReader = null;
+    GfeConsoleReader consoleReader;
 
     if (Gfsh.getCurrentInstance() != null) {
-      LogWrapper.getInstance().info("GfeConsoleReaderFactory.createConsoleReader(): isGfshVM");
+      LogWrapper logWrapper = Gfsh.getCurrentInstance().getGfshFileLogger();
+      logWrapper.info("GfeConsoleReaderFactory.createConsoleReader(): isGfshVM");
       consoleReader = new GfshConsoleReader();
-      LogWrapper.getInstance().info("GfeConsoleReaderFactory.createConsoleReader(): consoleReader: "
+      logWrapper.info("GfeConsoleReaderFactory.createConsoleReader(): consoleReader: "
           + consoleReader + "=" + consoleReader.isSupported());
     } else {
       consoleReader = new GfeConsoleReader();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
index 38d5a87..e010fc5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
@@ -335,7 +335,7 @@ public class MemberMBeanBridge {
     this.config = system.getConfig();
     try {
       this.commandProcessor =
-          new OnlineCommandProcessor(system.getProperties(), cache.getSecurityService());
+          new OnlineCommandProcessor(system.getProperties(), cache.getSecurityService(), cache);
     } catch (Exception e) {
       commandServiceInitError = e.getMessage();
       logger.info(LogMarker.CONFIG, "Command processor could not be initialized. {}",
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
index b57bc90..2c21ef8 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
@@ -34,16 +34,16 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.function.Supplier;
 import java.util.stream.Collectors;
 import java.util.zip.DataFormatException;
 import java.util.zip.Deflater;
 import java.util.zip.Inflater;
 
 import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
 
+import org.apache.geode.cache.Cache;
 import org.apache.geode.cache.CacheClosedException;
-import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.execute.Execution;
 import org.apache.geode.cache.execute.Function;
@@ -54,6 +54,7 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
 import org.apache.geode.internal.ClassPathLoader;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.execute.AbstractExecution;
+import org.apache.geode.internal.lang.StringUtils;
 import org.apache.geode.internal.util.IOUtils;
 import org.apache.geode.management.DistributedRegionMXBean;
 import org.apache.geode.management.ManagementService;
@@ -74,16 +75,18 @@ import org.apache.geode.management.internal.cli.shell.Gfsh;
 public class CliUtil {
   public static final FileFilter JAR_FILE_FILTER = new CustomFileFilter(".jar");
 
-  public static InternalCache getCacheIfExists() {
-    InternalCache cache;
+  /**
+   * Returns the InternalCache returned by the provided method.
+   * If the provided method would raise a CacheClosedException, returns null instead.
+   */
+  public static InternalCache getCacheIfExists(Supplier<InternalCache> getCacheMethod) {
+    InternalCache cache = null;
     try {
-      cache = getInternalCache();
-    } catch (CacheClosedException e) {
-      // ignore & return null
-      cache = null;
+      cache = getCacheMethod.get();
+    } catch (CacheClosedException ignored) {
     }
-
     return cache;
+
   }
 
   public static String cliDependenciesExist(boolean includeGfshDependencies) {
@@ -212,7 +215,7 @@ public class CliUtil {
 
   public static Set<DistributedMember> getMembersWithAsyncEventQueue(InternalCache cache,
       String queueId) {
-    Set<DistributedMember> members = findMembers(null, null);
+    Set<DistributedMember> members = findMembers(null, null, cache);
     return members.stream().filter(m -> getAsyncEventQueueIds(cache, m).contains(queueId))
         .collect(Collectors.toSet());
   }
@@ -224,8 +227,7 @@ public class CliUtil {
         .map(x -> x.getKeyProperty("queue")).collect(Collectors.toSet());
   }
 
-  public static Set<String> getAllRegionNames() {
-    InternalCache cache = getInternalCache();
+  public static Set<String> getAllRegionNames(Cache cache) {
     Set<String> regionNames = new HashSet<>();
     Set<Region<?, ?>> rootRegions = cache.rootRegions();
 
@@ -246,10 +248,8 @@ public class CliUtil {
    * groups or members.
    */
   public static Set<DistributedMember> findMembersIncludingLocators(String[] groups,
-      String[] members) {
-    InternalCache cache = getInternalCache();
+      String[] members, InternalCache cache) {
     Set<DistributedMember> allMembers = getAllMembers(cache);
-
     return findMembers(allMembers, groups, members);
   }
 
@@ -257,8 +257,8 @@ public class CliUtil {
    * Finds all Servers which belong to the given arrays of groups or members. Does not include
    * locators.
    */
-  public static Set<DistributedMember> findMembers(String[] groups, String[] members) {
-    InternalCache cache = getInternalCache();
+  public static Set<DistributedMember> findMembers(String[] groups, String[] members,
+      InternalCache cache) {
     Set<DistributedMember> allNormalMembers = getAllNormalMembers(cache);
 
     return findMembers(allNormalMembers, groups, members);
@@ -303,23 +303,18 @@ public class CliUtil {
     return matchingMembers;
   }
 
-  public static DistributedMember getDistributedMemberByNameOrId(String memberNameOrId) {
-    DistributedMember memberFound = null;
-
-    if (memberNameOrId != null) {
-      InternalCache cache = getInternalCache();
-      Set<DistributedMember> memberSet = CliUtil.getAllMembers(cache);
-      for (DistributedMember member : memberSet) {
-        if (memberNameOrId.equalsIgnoreCase(member.getId())
-            || memberNameOrId.equalsIgnoreCase(member.getName())) {
-          memberFound = member;
-          break;
-        }
-      }
+  public static DistributedMember getDistributedMemberByNameOrId(String memberNameOrId,
+      InternalCache cache) {
+    if (memberNameOrId == null) {
+      return null;
     }
-    return memberFound;
+
+    Set<DistributedMember> memberSet = CliUtil.getAllMembers(cache);
+    return memberSet.stream().filter(member -> memberNameOrId.equalsIgnoreCase(member.getId())
+        || memberNameOrId.equalsIgnoreCase(member.getName())).findFirst().orElse(null);
   }
 
+
   /**
    * Even thought this is only used in a test, caller of MemberMXBean.processCommand(String, Map,
    * Byte[][]) will need to use this method to convert a fileList to Byte[][] to call that
@@ -566,10 +561,7 @@ public class CliUtil {
     }
   }
 
-
   static class CustomFileFilter implements FileFilter {
-
-
     private String extensionWithDot;
 
     public CustomFileFilter(String extensionWithDot) {
@@ -581,14 +573,12 @@ public class CliUtil {
       String name = pathname.getName();
       return name.endsWith(extensionWithDot);
     }
-
   }
 
   public static class DeflaterInflaterData implements Serializable {
-
     private static final long serialVersionUID = 1104813333595216795L;
-    private final int dataLength;
 
+    private final int dataLength;
     private final byte[] data;
 
     public DeflaterInflaterData(int dataLength, byte[] data) {
@@ -609,10 +599,4 @@ public class CliUtil {
       return String.valueOf(dataLength);
     }
   }
-
-  // Methods that will be removed by the next commit:
-
-  private static InternalCache getInternalCache() {
-    return (InternalCache) CacheFactory.getAnyInstance();
-  }
 }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java
index 44617d3..b0ef5d0 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java
@@ -35,6 +35,7 @@ import org.springframework.shell.core.MethodTarget;
 import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 
+import org.apache.geode.cache.Cache;
 import org.apache.geode.distributed.ConfigurationProperties;
 import org.apache.geode.distributed.internal.DistributionConfig;
 import org.apache.geode.internal.ClassPathLoader;
@@ -53,7 +54,6 @@ public class CommandManager {
   public static final String USER_CMD_PACKAGES_PROPERTY =
       DistributionConfig.GEMFIRE_PREFIX + USER_COMMAND_PACKAGES;
   public static final String USER_CMD_PACKAGES_ENV_VARIABLE = "GEMFIRE_USER_COMMAND_PACKAGES";
-  private static final Object INSTANCE_LOCK = new Object();
 
   private final Helper helper = new Helper();
 
@@ -68,18 +68,18 @@ public class CommandManager {
    * environment. used by Gfsh.
    */
   public CommandManager() {
-    this(null);
+    this(null, null);
   }
 
   /**
    * this is used when getting the instance in a cache server. We are getting the
    * user-command-package from distribution properties. used by OnlineCommandProcessor.
    */
-  public CommandManager(final Properties cacheProperties) {
+  public CommandManager(final Properties cacheProperties, Cache cache) {
     if (cacheProperties != null) {
       this.cacheProperties = cacheProperties;
     }
-    logWrapper = LogWrapper.getInstance();
+    logWrapper = LogWrapper.getInstance(cache);
     loadCommands();
   }
 
@@ -260,8 +260,6 @@ public class CommandManager {
 
   /**
    * Method to add new Converter
-   *
-   * @param converter
    */
   void add(Converter<?> converter) {
     if (CommandManagerAware.class.isAssignableFrom(converter.getClass())) {
@@ -272,8 +270,6 @@ public class CommandManager {
 
   /**
    * Method to add new Commands to the parser
-   *
-   * @param commandMarker
    */
   void add(CommandMarker commandMarker) {
     if (CommandManagerAware.class.isAssignableFrom(commandMarker.getClass())) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/Launcher.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/Launcher.java
index a652255..49c35c9 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/Launcher.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/Launcher.java
@@ -315,7 +315,8 @@ public class Launcher {
 
     public void logStartupTime() {
       done = System.currentTimeMillis();
-      LogWrapper.getInstance().info("Startup done in " + ((done - start) / 1000.0) + " seconds.");
+      LogWrapper.getInstance(null)
+          .info("Startup done in " + ((done - start) / 1000.0) + " seconds.");
     }
 
     @Override
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/LogWrapper.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/LogWrapper.java
index 2cd15f4..f342828 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/LogWrapper.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/LogWrapper.java
@@ -45,10 +45,9 @@ public class LogWrapper {
 
   private Logger logger;
 
-  private LogWrapper() {
+  private LogWrapper(Cache cache) {
     logger = Logger.getLogger(this.getClass().getCanonicalName());
 
-    Cache cache = CliUtil.getCacheIfExists();
     if (cache != null && !cache.isClosed()) {
       logger.addHandler(cache.getLogger().getHandler());
       CommandResponseWriterHandler handler = new CommandResponseWriterHandler();
@@ -59,11 +58,11 @@ public class LogWrapper {
     logger.setUseParentHandlers(false);
   }
 
-  public static LogWrapper getInstance() {
+  public static LogWrapper getInstance(Cache cache) {
     if (INSTANCE == null) {
       synchronized (INSTANCE_LOCK) {
         if (INSTANCE == null) {
-          INSTANCE = new LogWrapper();
+          INSTANCE = new LogWrapper(cache);
         }
       }
     }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterRuntimeConfigCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterRuntimeConfigCommand.java
index f3c5cd4..9aec858 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterRuntimeConfigCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterRuntimeConfigCommand.java
@@ -96,7 +96,7 @@ public class AlterRuntimeConfigCommand implements GfshCommand {
 
     Map<String, String> runTimeDistributionConfigAttributes = new HashMap<>();
     Map<String, String> rumTimeCacheAttributes = new HashMap<>();
-    Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId);
+    Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId, getCache());
 
     if (targetMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java
index 03ba084..fe09b3e 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java
@@ -135,7 +135,8 @@ public class ChangeLogLevelCommand implements GfshCommand {
 
           }
         } catch (Exception ex) {
-          LogWrapper.getInstance().warning("change log level command exception " + ex);
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+              .warning("change log level command exception " + ex);
         }
       }
 
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableCQsCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableCQsCommand.java
index 61dd914..5cad87a 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableCQsCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableCQsCommand.java
@@ -57,7 +57,7 @@ public class CloseDurableCQsCommand implements GfshCommand {
           optionContext = ConverterHint.MEMBERGROUP) final String[] group) {
     Result result;
     try {
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableClientCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableClientCommand.java
index 14c9731..3b28266 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableClientCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CloseDurableClientCommand.java
@@ -55,7 +55,7 @@ public class CloseDurableClientCommand implements GfshCommand {
     Result result;
     try {
 
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java
index ced3749..8006463 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java
@@ -122,7 +122,7 @@ public class CompactDiskStoreCommand implements GfshCommand {
             }
             String notExecutedMembers = CompactRequest.getNotExecutedMembers();
             if (notExecutedMembers != null && !notExecutedMembers.isEmpty()) {
-              LogWrapper.getInstance()
+              LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
                   .info("compact disk-store \"" + diskStoreName
                       + "\" message was scheduled to be sent to but was not send to "
                       + notExecutedMembers);
@@ -159,7 +159,7 @@ public class CompactDiskStoreCommand implements GfshCommand {
         } // all members' if
       } // disk store exists' if
     } catch (RuntimeException e) {
-      LogWrapper.getInstance().info(e.getMessage(), e);
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).info(e.getMessage(), e);
       result = ResultBuilder.createGemFireErrorResult(
           CliStrings.format(CliStrings.COMPACT_DISK_STORE__ERROR_WHILE_COMPACTING_REASON_0,
               new Object[] {e.getMessage()}));
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactOfflineDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactOfflineDiskStoreCommand.java
index 2fdd8d7..521b1f5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactOfflineDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactOfflineDiskStoreCommand.java
@@ -54,7 +54,7 @@ public class CompactOfflineDiskStoreCommand implements GfshCommand {
       @CliOption(key = CliStrings.COMPACT_OFFLINE_DISK_STORE__J,
           help = CliStrings.COMPACT_OFFLINE_DISK_STORE__J__HELP) String[] jvmProps) {
     Result result;
-    LogWrapper logWrapper = LogWrapper.getInstance();
+    LogWrapper logWrapper = LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache));
 
     StringBuilder output = new StringBuilder();
     StringBuilder error = new StringBuilder();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigurePDXCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigurePDXCommand.java
index 8c490f4..3a86595 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigurePDXCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigurePDXCommand.java
@@ -63,7 +63,7 @@ public class ConfigurePDXCommand implements GfshCommand {
           && (patterns != null && patterns.length > 0)) {
         return ResultBuilder.createUserErrorResult(CliStrings.CONFIGURE_PDX__ERROR__MESSAGE);
       }
-      if (!CliUtil.getAllNormalMembers(CliUtil.getCacheIfExists()).isEmpty()) {
+      if (!CliUtil.getAllNormalMembers(getCache()).isEmpty()) {
         ird.addLine(CliStrings.CONFIGURE_PDX__NORMAL__MEMBERS__WARNING);
       }
       // Set persistent and the disk-store
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java
index 9e87f1c..53b67d5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConnectCommand.java
@@ -282,7 +282,7 @@ public class ConnectCommand implements GfshCommand {
 
       gfsh.setOperationInvoker(operationInvoker);
 
-      LogWrapper.getInstance()
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
           .info(CliStrings.format(CliStrings.CONNECT__MSG__SUCCESS, operationInvoker.toString()));
       return ResultBuilder.createInfoResult(
           CliStrings.format(CliStrings.CONNECT__MSG__SUCCESS, operationInvoker.toString()));
@@ -358,8 +358,8 @@ public class ConnectCommand implements GfshCommand {
       gfsh.setOperationInvoker(operationInvoker);
       infoResultData.addLine(CliStrings.format(CliStrings.CONNECT__MSG__SUCCESS,
           jmxHostPortToConnect.toString(false)));
-      LogWrapper.getInstance().info(CliStrings.format(CliStrings.CONNECT__MSG__SUCCESS,
-          jmxHostPortToConnect.toString(false)));
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).info(CliStrings
+          .format(CliStrings.CONNECT__MSG__SUCCESS, jmxHostPortToConnect.toString(false)));
       return ResultBuilder.buildResult(infoResultData);
     } catch (SecurityException | AuthenticationFailedException e) {
       // if it's security exception, and we already sent in username and password, still returns the
@@ -497,7 +497,7 @@ public class ConnectCommand implements GfshCommand {
   }
 
   private Result handleException(Exception e, String errorMessage) {
-    LogWrapper.getInstance().severe(errorMessage, e);
+    LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).severe(errorMessage, e);
     return ResultBuilder.createConnectionErrorResult(errorMessage);
   }
 
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CountDurableCQEventsCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CountDurableCQEventsCommand.java
index 8ebc4da..e208e32 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CountDurableCQEventsCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CountDurableCQEventsCommand.java
@@ -56,7 +56,7 @@ public class CountDurableCQEventsCommand implements GfshCommand {
 
     Result result;
     try {
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
index 300b271..8467f47 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
@@ -501,7 +501,7 @@ public class CreateRegionCommand implements GfshCommand {
               throw (IllegalArgumentException) object;
             } else if (object instanceof Throwable) {
               Throwable th = (Throwable) object;
-              LogWrapper.getInstance().info(ExceptionUtils.getStackTrace((th)));
+              LogWrapper.getInstance(getCache()).info(ExceptionUtils.getStackTrace((th)));
               throw new IllegalArgumentException(CliStrings.format(
                   CliStrings.CREATE_REGION__MSG__COULD_NOT_RETRIEVE_REGION_ATTRS_FOR_PATH_0_REASON_1,
                   regionPath, th.getMessage()));
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommand.java
index e010783..610fd80 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommand.java
@@ -85,7 +85,7 @@ public class DeployCommand implements GfshCommand {
     List<String> jarFullPaths = CommandExecutionContext.getFilePathFromShell();
 
     Set<DistributedMember> targetMembers;
-    targetMembers = CliUtil.findMembers(groups, null);
+    targetMembers = CliUtil.findMembers(groups, null, getCache());
 
     List results = new ArrayList();
     ManagementAgent agent = ((SystemManagementService) getManagementService()).getManagementAgent();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommand.java
index d8135f0..cf20889 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommand.java
@@ -118,7 +118,7 @@ public class DescribeClientCommand implements GfshCommand {
       for (Object aResultList : resultList) {
         Object object = aResultList;
         if (object instanceof Throwable) {
-          LogWrapper.getInstance().warning(
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).warning(
               "Exception in Describe Client " + ((Throwable) object).getMessage(),
               ((Throwable) object));
           continue;
@@ -156,7 +156,8 @@ public class DescribeClientCommand implements GfshCommand {
       return ResultBuilder.createGemFireErrorResult(CliStrings.DESCRIBE_CLIENT_NO_MEMBERS);
     }
 
-    LogWrapper.getInstance().info("describe client result " + result);
+    LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+        .info("describe client result " + result);
     return result;
   }
 
@@ -207,13 +208,14 @@ public class DescribeClientCommand implements GfshCommand {
           String poolStatsStr = entry.getValue();
           String str[] = poolStatsStr.split(";");
 
-          LogWrapper.getInstance().info("describe client clientHealthStatus min conn="
+          LogWrapper logWrapper = LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache));
+          logWrapper.info("describe client clientHealthStatus min conn="
               + str[0].substring(str[0].indexOf("=") + 1));
-          LogWrapper.getInstance().info("describe client clientHealthStatus max conn ="
+          logWrapper.info("describe client clientHealthStatus max conn ="
               + str[1].substring(str[1].indexOf("=") + 1));
-          LogWrapper.getInstance().info("describe client clientHealthStatus redundancy ="
+          logWrapper.info("describe client clientHealthStatus redundancy ="
               + str[2].substring(str[2].indexOf("=") + 1));
-          LogWrapper.getInstance().info("describe client clientHealthStatus CQs ="
+          logWrapper.info("describe client clientHealthStatus CQs ="
               + str[3].substring(str[3].indexOf("=") + 1));
 
           poolStatsResultTable.accumulate(CliStrings.DESCRIBE_CLIENT_MIN_CONN,
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyIndexCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyIndexCommand.java
index ae6e08a..6d7af27 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyIndexCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyIndexCommand.java
@@ -70,7 +70,7 @@ public class DestroyIndexCommand implements GfshCommand {
     }
     IndexInfo indexInfo = new IndexInfo(indexName, regionName);
     indexInfo.setIfExists(ifExists);
-    Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrID);
+    Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrID, getCache());
 
     if (targetMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DisconnectCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DisconnectCommand.java
index 2d7da45..d675fca 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DisconnectCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DisconnectCommand.java
@@ -19,6 +19,7 @@ import org.springframework.shell.core.annotation.CliCommand;
 
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.InfoResultData;
@@ -45,8 +46,8 @@ public class DisconnectCommand implements GfshCommand {
           operationInvoker.stop();
           infoResultData.addLine(CliStrings.format(CliStrings.DISCONNECT__MSG__DISCONNECTED,
               operationInvoker.toString()));
-          LogWrapper.getInstance().info(CliStrings.format(CliStrings.DISCONNECT__MSG__DISCONNECTED,
-              operationInvoker.toString()));
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).info(CliStrings
+              .format(CliStrings.DISCONNECT__MSG__DISCONNECTED, operationInvoker.toString()));
           if (!gfshInstance.isHeadlessMode()) {
             gfshInstance.setPromptPath(gfshInstance.getEnvAppContextPath());
           }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java
index a5e7f87..49d5e38 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java
@@ -68,7 +68,7 @@ public class ExportConfigCommand implements GfshCommand {
           help = CliStrings.EXPORT_CONFIG__DIR__HELP) String dir) {
     InfoResultData infoData = ResultBuilder.createInfoResultData();
 
-    Set<DistributedMember> targetMembers = CliUtil.findMembers(group, member);
+    Set<DistributedMember> targetMembers = CliUtil.findMembers(group, member, getCache());
     if (targetMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
     }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportOfflineDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportOfflineDiskStoreCommand.java
index c704364..cf57263 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportOfflineDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportOfflineDiskStoreCommand.java
@@ -24,6 +24,7 @@ import org.apache.geode.SystemFailure;
 import org.apache.geode.internal.cache.DiskStoreImpl;
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.ResultBuilder;
@@ -60,7 +61,7 @@ public class ExportOfflineDiskStoreCommand implements GfshCommand {
       throw e;
     } catch (Throwable th) {
       SystemFailure.checkFailure();
-      LogWrapper.getInstance().warning(th.getMessage(), th);
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).warning(th.getMessage(), th);
       return ResultBuilder.createGemFireErrorResult(CliStrings
           .format(CliStrings.EXPORT_OFFLINE_DISK_STORE__ERROR, diskStoreName, th.toString()));
     }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GCCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GCCommand.java
index 9a039bd..06d2ec5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GCCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GCCommand.java
@@ -86,12 +86,12 @@ public class GCCommand implements GfshCommand {
 
     for (Object object : resultList) {
       if (object instanceof Exception) {
-        LogWrapper.getInstance().fine("Exception in GC " + ((Throwable) object).getMessage(),
-            ((Throwable) object));
+        LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+            .fine("Exception in GC " + ((Throwable) object).getMessage(), ((Throwable) object));
         continue;
       } else if (object instanceof Throwable) {
-        LogWrapper.getInstance().fine("Exception in GC " + ((Throwable) object).getMessage(),
-            ((Throwable) object));
+        LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+            .fine("Exception in GC " + ((Throwable) object).getMessage(), ((Throwable) object));
         continue;
       }
 
@@ -106,7 +106,8 @@ public class GCCommand implements GfshCommand {
               resultMap.get("TimeSpentInGC"));
         }
       } else {
-        LogWrapper.getInstance().fine("ResultMap was null ");
+        LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+            .fine("ResultMap was null ");
       }
     }
 
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
index 58e73af..b7304ce 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
@@ -116,7 +116,7 @@ public interface GfshCommand extends CommandMarker {
    * this will return the member found or null if no member with that name
    */
   default DistributedMember findMember(final String memberName) {
-    return CliUtil.getDistributedMemberByNameOrId(memberName);
+    return CliUtil.getDistributedMemberByNameOrId(memberName, getCache());
   }
 
   /**
@@ -141,7 +141,7 @@ public interface GfshCommand extends CommandMarker {
    * if no members matches these names, an empty set would return, this does not include locators
    */
   default Set<DistributedMember> findMembers(String[] groups, String[] members) {
-    return CliUtil.findMembers(groups, members);
+    return CliUtil.findMembers(groups, members, getCache());
   }
 
   /**
@@ -159,7 +159,7 @@ public interface GfshCommand extends CommandMarker {
    * if no members matches these names, an empty set would return
    */
   default Set<DistributedMember> findMembersIncludingLocators(String[] groups, String[] members) {
-    return CliUtil.findMembersIncludingLocators(groups, members);
+    return CliUtil.findMembersIncludingLocators(groups, members, getCache());
   }
 
   /**
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListAsyncEventQueuesCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListAsyncEventQueuesCommand.java
index 8b3d1bd..6c9e529 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListAsyncEventQueuesCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListAsyncEventQueuesCommand.java
@@ -46,7 +46,7 @@ public class ListAsyncEventQueuesCommand implements GfshCommand {
       TabularResultData tabularData = ResultBuilder.createTabularResultData();
       boolean accumulatedData = false;
 
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(null, null);
+      Set<DistributedMember> targetMembers = CliUtil.getAllNormalMembers(getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListClientCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListClientCommand.java
index 3f76b2c..b5142b5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListClientCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListClientCommand.java
@@ -29,6 +29,7 @@ import org.apache.geode.management.CacheServerMXBean;
 import org.apache.geode.management.ManagementService;
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.CompositeResultData;
@@ -110,9 +111,8 @@ public class ListClientCommand implements GfshCommand {
     }
     result = ResultBuilder.buildResult(compositeResultData);
 
-
-
-    LogWrapper.getInstance().info("list client result " + result);
+    LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+        .info("list client result " + result);
 
     return result;
   }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDeployedCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDeployedCommand.java
index 4c2bc53..7f429e1 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDeployedCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDeployedCommand.java
@@ -55,7 +55,7 @@ public class ListDeployedCommand implements GfshCommand {
       TabularResultData tabularData = ResultBuilder.createTabularResultData();
       boolean accumulatedData = false;
 
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, null);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, null, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDurableClientCQsCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDurableClientCQsCommand.java
index 011bfde..e202d0f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDurableClientCQsCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDurableClientCQsCommand.java
@@ -60,7 +60,7 @@ public class ListDurableClientCQsCommand implements GfshCommand {
     try {
 
       boolean noResults = true;
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListFunctionCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListFunctionCommand.java
index 86b8985..a5afc10 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListFunctionCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListFunctionCommand.java
@@ -56,7 +56,7 @@ public class ListFunctionCommand implements GfshCommand {
     TabularResultData tabularData = ResultBuilder.createTabularResultData();
     boolean accumulatedData = false;
 
-    Set<DistributedMember> targetMembers = CliUtil.findMembers(groups, members);
+    Set<DistributedMember> targetMembers = CliUtil.findMembers(groups, members, getCache());
 
     if (targetMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
index cd58449..644e586 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
@@ -32,9 +32,7 @@ import org.apache.geode.distributed.DistributedMember;
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.ConverterHint;
 import org.apache.geode.management.cli.Result;
-import org.apache.geode.management.internal.cli.AbstractCliAroundInterceptor;
 import org.apache.geode.management.internal.cli.CliUtil;
-import org.apache.geode.management.internal.cli.GfshParseResult;
 import org.apache.geode.management.internal.cli.domain.RegionInformation;
 import org.apache.geode.management.internal.cli.functions.GetRegionsFunction;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -61,7 +59,7 @@ public class ListRegionCommand implements GfshCommand {
     try {
       Set<RegionInformation> regionInfoSet = new LinkedHashSet<>();
       ResultCollector<?, ?> rc;
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, memberNameOrId, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/NetstatCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/NetstatCommand.java
index 0bf2d40..cff3363 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/NetstatCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/NetstatCommand.java
@@ -171,13 +171,13 @@ public class NetstatCommand implements GfshCommand {
       }
       result = ResultBuilder.buildResult(resultData);
     } catch (IllegalArgumentException e) {
-      LogWrapper.getInstance()
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
           .info(CliStrings.format(
               CliStrings.NETSTAT__MSG__ERROR_OCCURRED_WHILE_EXECUTING_NETSTAT_ON_0,
               new Object[] {Arrays.toString(members)}));
       result = ResultBuilder.createUserErrorResult(e.getMessage());
     } catch (RuntimeException e) {
-      LogWrapper.getInstance()
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
           .info(CliStrings.format(
               CliStrings.NETSTAT__MSG__ERROR_OCCURRED_WHILE_EXECUTING_NETSTAT_ON_0,
               new Object[] {Arrays.toString(members)}), e);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java
index d0e1fd4..560c718 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RebalanceCommand.java
@@ -94,7 +94,8 @@ public class RebalanceCommand implements GfshCommand {
     } catch (TimeoutException timeoutException) {
       result = ResultBuilder.createInfoResult(CliStrings.REBALANCE__MSG__REBALANCE_WILL_CONTINUE);
     }
-    LogWrapper.getInstance().info("Rebalance returning result >>>" + result);
+    LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+        .info("Rebalance returning result >>>" + result);
     return result;
   }
 
@@ -108,8 +109,9 @@ public class RebalanceCommand implements GfshCommand {
               CliStrings.format(CliStrings.REBALANCE__MSG__NO_EXECUTION, member.getId()),
               ((Exception) object).getMessage());
 
-          LogWrapper.getInstance().info(CliStrings.REBALANCE__MSG__NO_EXECUTION + member.getId()
-              + " exception=" + ((Throwable) object).getMessage(), ((Throwable) object));
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+              .info(CliStrings.REBALANCE__MSG__NO_EXECUTION + member.getId() + " exception="
+                  + ((Throwable) object).getMessage(), ((Throwable) object));
 
           toContinueForOtherMembers = true;
           break;
@@ -118,15 +120,16 @@ public class RebalanceCommand implements GfshCommand {
               CliStrings.format(CliStrings.REBALANCE__MSG__NO_EXECUTION, member.getId()),
               ((Throwable) object).getMessage());
 
-          LogWrapper.getInstance().info(CliStrings.REBALANCE__MSG__NO_EXECUTION + member.getId()
-              + " exception=" + ((Throwable) object).getMessage(), ((Throwable) object));
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+              .info(CliStrings.REBALANCE__MSG__NO_EXECUTION + member.getId() + " exception="
+                  + ((Throwable) object).getMessage(), ((Throwable) object));
 
           toContinueForOtherMembers = true;
           break;
         }
       }
     } else {
-      LogWrapper.getInstance().info(
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache)).info(
           "Rebalancing for member=" + member.getId() + ", resultList is either null or empty");
       rebalanceResultData.addSection().addData("Rebalancing for member=" + member.getId(),
           ", resultList is either null or empty");
@@ -247,8 +250,9 @@ public class RebalanceCommand implements GfshCommand {
               DistributedMember member = getAssociatedMembers(regionName, cache);
 
               if (member == null) {
-                LogWrapper.getInstance().info(CliStrings.format(
-                    CliStrings.REBALANCE__MSG__NO_ASSOCIATED_DISTRIBUTED_MEMBER, regionName));
+                LogWrapper.getInstance(CliUtil.getCacheIfExists(RebalanceCommand.this::getCache))
+                    .info(CliStrings.format(
+                        CliStrings.REBALANCE__MSG__NO_ASSOCIATED_DISTRIBUTED_MEMBER, regionName));
                 continue;
               }
 
@@ -271,7 +275,7 @@ public class RebalanceCommand implements GfshCommand {
                   resultList = (ArrayList) executeFunction(rebalanceFunction, functionArgs, member)
                       .getResult();
                 } catch (Exception ex) {
-                  LogWrapper.getInstance()
+                  LogWrapper.getInstance(CliUtil.getCacheIfExists(RebalanceCommand.this::getCache))
                       .info(CliStrings.format(
                           CliStrings.REBALANCE__MSG__EXCEPTION_IN_REBALANCE_FOR_MEMBER_0_Exception_1,
                           member.getId(), ex.getMessage()), ex);
@@ -297,7 +301,7 @@ public class RebalanceCommand implements GfshCommand {
                   resultList = (ArrayList) executeFunction(rebalanceFunction, functionArgs, member)
                       .getResult();
                 } catch (Exception ex) {
-                  LogWrapper.getInstance()
+                  LogWrapper.getInstance(CliUtil.getCacheIfExists(RebalanceCommand.this::getCache))
                       .info(CliStrings.format(
                           CliStrings.REBALANCE__MSG__EXCEPTION_IN_REBALANCE_FOR_MEMBER_0_Exception_1,
                           member.getId(), ex.getMessage()), ex);
@@ -346,16 +350,19 @@ public class RebalanceCommand implements GfshCommand {
             }
             index++;
           }
-          LogWrapper.getInstance().info("Rebalance returning result " + result);
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(RebalanceCommand.this::getCache))
+              .info("Rebalance returning result " + result);
           return result;
         } else {
           result = executeRebalanceOnDS(cache, String.valueOf(simulate), excludeRegions);
-          LogWrapper.getInstance().info("Starting Rebalance simulate false result >> " + result);
+          LogWrapper.getInstance(CliUtil.getCacheIfExists(RebalanceCommand.this::getCache))
+              .info("Starting Rebalance simulate false result >> " + result);
         }
       } catch (Exception e) {
         result = ResultBuilder.createGemFireErrorResult(e.getMessage());
       }
-      LogWrapper.getInstance().info("Rebalance returning result >>>" + result);
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(RebalanceCommand.this::getCache))
+          .info("Rebalance returning result >>>" + result);
       return result;
     }
   }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ResumeGatewaySenderCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ResumeGatewaySenderCommand.java
index 3407027..16286ef 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ResumeGatewaySenderCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ResumeGatewaySenderCommand.java
@@ -67,7 +67,7 @@ public class ResumeGatewaySenderCommand implements GfshCommand {
 
     TabularResultData resultData = ResultBuilder.createTabularResultData();
 
-    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember);
+    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember, getCache());
 
     if (dsMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShCommand.java
index 753bbe1..d46a16e 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShCommand.java
@@ -25,6 +25,7 @@ import org.springframework.shell.core.annotation.CliOption;
 import org.apache.geode.internal.lang.SystemUtils;
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.InfoResultData;
@@ -46,7 +47,7 @@ public class ShCommand implements GfshCommand {
           ResultBuilder.buildResult(executeCommand(Gfsh.getCurrentInstance(), command, useConsole));
     } catch (IllegalStateException | IOException e) {
       result = ResultBuilder.createUserErrorResult(e.getMessage());
-      LogWrapper.getInstance()
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
           .warning("Unable to execute command \"" + command + "\". Reason:" + e.getMessage() + ".");
     }
     return result;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/SleepCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/SleepCommand.java
index b931d7e..3d658ab 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/SleepCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/SleepCommand.java
@@ -20,6 +20,7 @@ import org.springframework.shell.core.annotation.CliOption;
 
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.ResultBuilder;
@@ -30,7 +31,8 @@ public class SleepCommand implements GfshCommand {
   public Result sleep(@CliOption(key = {CliStrings.SLEEP__TIME}, unspecifiedDefaultValue = "3",
       help = CliStrings.SLEEP__TIME__HELP) double time) {
     try {
-      LogWrapper.getInstance().fine("Sleeping for " + time + "seconds.");
+      LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache))
+          .fine("Sleeping for " + time + "seconds.");
       Thread.sleep(Math.round(time * 1000));
     } catch (InterruptedException ignored) {
     }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StartGatewayReceiverCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StartGatewayReceiverCommand.java
index d220374..b8a4fa5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StartGatewayReceiverCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StartGatewayReceiverCommand.java
@@ -63,7 +63,7 @@ public class StartGatewayReceiverCommand implements GfshCommand {
 
     TabularResultData resultData = ResultBuilder.createTabularResultData();
 
-    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember);
+    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember, getCache());
 
     if (dsMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewayReceiverCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewayReceiverCommand.java
index a8829d3..6b40591 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewayReceiverCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewayReceiverCommand.java
@@ -68,7 +68,7 @@ public class StatusGatewayReceiverCommand implements GfshCommand {
         crd.addSection(CliStrings.SECTION_GATEWAY_RECEIVER_NOT_AVAILABLE)
             .addTable(CliStrings.TABLE_GATEWAY_RECEIVER);
 
-    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember);
+    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember, getCache());
 
     if (dsMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewaySenderCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewaySenderCommand.java
index c0ce5d8..89c0f92 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewaySenderCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusGatewaySenderCommand.java
@@ -75,7 +75,7 @@ public class StatusGatewaySenderCommand implements GfshCommand {
         crd.addSection(CliStrings.SECTION_GATEWAY_SENDER_NOT_AVAILABLE)
             .addTable(CliStrings.TABLE_GATEWAY_SENDER);
 
-    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember);
+    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember, getCache());
 
     if (dsMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewayReceiverCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewayReceiverCommand.java
index e183b20..0b6f6f9 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewayReceiverCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewayReceiverCommand.java
@@ -62,7 +62,7 @@ public class StopGatewayReceiverCommand implements GfshCommand {
 
     TabularResultData resultData = ResultBuilder.createTabularResultData();
 
-    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember);
+    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember, getCache());
 
     if (dsMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewaySenderCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewaySenderCommand.java
index cc67fc4..1a48412 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewaySenderCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StopGatewaySenderCommand.java
@@ -68,7 +68,7 @@ public class StopGatewaySenderCommand implements GfshCommand {
 
     TabularResultData resultData = ResultBuilder.createTabularResultData();
 
-    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember);
+    Set<DistributedMember> dsMembers = CliUtil.findMembers(onGroup, onMember, getCache());
 
     if (dsMembers.isEmpty()) {
       return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UndeployCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UndeployCommand.java
index e0189df..630b33c 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UndeployCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UndeployCommand.java
@@ -61,7 +61,7 @@ public class UndeployCommand implements GfshCommand {
       TabularResultData tabularData = ResultBuilder.createTabularResultData();
       boolean accumulatedData = false;
 
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(groups, null);
+      Set<DistributedMember> targetMembers = CliUtil.findMembers(groups, null, getCache());
 
       if (targetMembers.isEmpty()) {
         return ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UpgradeOfflineDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UpgradeOfflineDiskStoreCommand.java
index bf2b505..10b05c8 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UpgradeOfflineDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UpgradeOfflineDiskStoreCommand.java
@@ -52,11 +52,10 @@ public class UpgradeOfflineDiskStoreCommand implements GfshCommand {
           unspecifiedDefaultValue = "-1",
           help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__MAXOPLOGSIZE__HELP) long maxOplogSize,
       @CliOption(key = CliStrings.UPGRADE_OFFLINE_DISK_STORE__J,
-          help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__J__HELP) String[] jvmProps)
-      throws InterruptedException {
+          help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__J__HELP) String[] jvmProps) {
 
     Result result;
-    LogWrapper logWrapper = LogWrapper.getInstance();
+    LogWrapper logWrapper = LogWrapper.getInstance(CliUtil.getCacheIfExists(this::getCache));
 
     StringBuilder output = new StringBuilder();
     StringBuilder error = new StringBuilder();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java
index fa8b9c6..cb9e8cb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GetMemberInformationFunction.java
@@ -63,10 +63,8 @@ public class GetMemberInformationFunction implements InternalFunction {
     return true;
   }
 
+  /* Read only function */
   @Override
-  /**
-   * Read only function
-   */
   public boolean optimizeForWrite() {
     return false;
   }
@@ -76,10 +74,6 @@ public class GetMemberInformationFunction implements InternalFunction {
     try {
       Cache cache = functionContext.getCache();
 
-      /*
-       * TODO: 1) Get the CPU usage%
-       */
-
       InternalDistributedSystem system = (InternalDistributedSystem) cache.getDistributedSystem();
       DistributionConfig config = system.getConfig();
       String serverBindAddress = config.getServerBindAddress();
@@ -99,7 +93,7 @@ public class GetMemberInformationFunction implements InternalFunction {
       memberInfo.setHeapUsage(Long.toString(bytesToMeg(memUsage.getUsed())));
       memberInfo.setMaxHeapSize(Long.toString(bytesToMeg(memUsage.getMax())));
       memberInfo.setInitHeapSize(Long.toString(bytesToMeg(memUsage.getInit())));
-      memberInfo.setHostedRegions(CliUtil.getAllRegionNames());
+      memberInfo.setHostedRegions(CliUtil.getAllRegionNames(cache));
 
       List<CacheServer> csList = cache.getCacheServers();
 
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/json/GfJsonArray.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/json/GfJsonArray.java
index ff5f58b..bfc6672 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/json/GfJsonArray.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/json/GfJsonArray.java
@@ -17,10 +17,11 @@ package org.apache.geode.management.internal.cli.json;
 import java.util.Collection;
 import java.util.Map;
 
+import org.apache.logging.log4j.Logger;
 import org.json.JSONArray;
 import org.json.JSONException;
 
-import org.apache.geode.management.internal.cli.LogWrapper;
+import org.apache.geode.internal.logging.LogService;
 
 /**
  * Wrapper over JSONArray.
@@ -29,6 +30,8 @@ import org.apache.geode.management.internal.cli.LogWrapper;
  * @since GemFire 7.0
  */
 public class GfJsonArray {
+  private static final Logger logger = LogService.getLogger();
+
   private JSONArray jsonArray;
 
   public GfJsonArray() {
@@ -36,8 +39,6 @@ public class GfJsonArray {
   }
 
   /**
-   *
-   * @param array
    * @throws GfJsonException If not an array.
    */
   public GfJsonArray(Object array) throws GfJsonException {
@@ -53,8 +54,6 @@ public class GfJsonArray {
   }
 
   /**
-   *
-   * @param source
    * @throws GfJsonException If there is a syntax error.
    */
   public GfJsonArray(String source) throws GfJsonException {
@@ -68,7 +67,6 @@ public class GfJsonArray {
   /**
    * Get the object value associated with an index.
    *
-   * @param index
    * @return An object value.
    * @throws GfJsonException If there is no value for the index.
    */
@@ -95,9 +93,6 @@ public class GfJsonArray {
   }
 
   /**
-   *
-   * @param index
-   * @param value
    * @return this GfJsonArray
    * @throws GfJsonException If the index is negative or if the the value is an invalid number.
    */
@@ -116,9 +111,6 @@ public class GfJsonArray {
   }
 
   /**
-   *
-   * @param index
-   * @param value
    * @return this GfJsonArray
    * @throws GfJsonException If the index is negative or if the value is not finite.
    */
@@ -137,9 +129,6 @@ public class GfJsonArray {
   }
 
   /**
-   *
-   * @param index
-   * @param value
    * @return this GfJsonArray
    * @throws GfJsonException If the index is negative or if the the value is an invalid number.
    */
@@ -162,8 +151,6 @@ public class GfJsonArray {
   }
 
   /**
-   *
-   * @param indentFactor
    * @return this GfJsonArray
    * @throws GfJsonException If the object contains an invalid number.
    */
@@ -202,7 +189,7 @@ public class GfJsonArray {
         try {
           stringArray[i] = String.valueOf(jsonArray.get(i));
         } catch (GfJsonException e) {
-          LogWrapper.getInstance().info("", e);
+          logger.info("", e);
           stringArray = null;
         }
       }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/MemberCommandService.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/MemberCommandService.java
index 6130117..3df27a3 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/MemberCommandService.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/MemberCommandService.java
@@ -36,7 +36,7 @@ public class MemberCommandService extends CommandService {
     this.cache = cache;
     try {
       this.onlineCommandProcessor = new OnlineCommandProcessor(
-          cache.getDistributedSystem().getProperties(), cache.getSecurityService());
+          cache.getDistributedSystem().getProperties(), cache.getSecurityService(), cache);
     } catch (Exception e) {
       throw new CommandServiceException("Could not load commands.", e);
     }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessor.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessor.java
index 4fc563a..1698d6f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessor.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessor.java
@@ -14,7 +14,6 @@
  */
 package org.apache.geode.management.internal.cli.remote;
 
-import java.io.IOException;
 import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
@@ -26,8 +25,8 @@ import org.springframework.shell.event.ParseResult;
 import org.springframework.util.StringUtils;
 
 import org.apache.geode.annotations.TestingOnly;
+import org.apache.geode.cache.Cache;
 import org.apache.geode.internal.security.SecurityService;
-import org.apache.geode.internal.security.SecurityServiceFactory;
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.CommandProcessingException;
 import org.apache.geode.management.cli.Result;
@@ -50,20 +49,15 @@ public class OnlineCommandProcessor {
 
   private final SecurityService securityService;
 
-  @TestingOnly
-  public OnlineCommandProcessor() throws ClassNotFoundException, IOException {
-    this(new Properties(), SecurityServiceFactory.create());
-  }
-
-  public OnlineCommandProcessor(Properties cacheProperties, SecurityService securityService)
-      throws ClassNotFoundException, IOException {
-    this(cacheProperties, securityService, new CommandExecutor());
+  public OnlineCommandProcessor(Properties cacheProperties, SecurityService securityService,
+      Cache cache) {
+    this(cacheProperties, securityService, new CommandExecutor(), cache);
   }
 
   @TestingOnly
   public OnlineCommandProcessor(Properties cacheProperties, SecurityService securityService,
-      CommandExecutor commandExecutor) {
-    this.gfshParser = new GfshParser(new CommandManager(cacheProperties));
+      CommandExecutor commandExecutor, Cache cache) {
+    this.gfshParser = new GfshParser(new CommandManager(cacheProperties, cache));
     this.executor = commandExecutor;
     this.securityService = securityService;
   }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CommandResult.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CommandResult.java
index ddc419d..e0553bb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CommandResult.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CommandResult.java
@@ -26,11 +26,12 @@ import java.util.Vector;
 import java.util.stream.Collectors;
 import java.util.zip.DataFormatException;
 
+import org.apache.logging.log4j.Logger;
 import org.json.JSONArray;
 
+import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.cli.GfshParser;
-import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.json.GfJsonArray;
 import org.apache.geode.management.internal.cli.json.GfJsonException;
 import org.apache.geode.management.internal.cli.json.GfJsonObject;
@@ -45,6 +46,7 @@ import org.apache.geode.management.internal.cli.result.TableBuilder.Table;
  */
 
 public class CommandResult implements Result {
+  private static final Logger logger = LogService.getLogger();
 
   private GfJsonObject gfJsonObject;
   private Status status;
@@ -169,7 +171,7 @@ public class CommandResult implements Result {
     }
   }
 
-  void buildObjectResultOutput() {
+  private void buildObjectResultOutput() {
     try {
       Table resultTable = TableBuilder.newTable();
       resultTable.setColumnSeparator(" : ");
@@ -379,7 +381,7 @@ public class CommandResult implements Result {
     return isPrimitive;
   }
 
-  void buildComposite() {
+  private void buildComposite() {
     try {
       GfJsonObject content = getContent();
       if (content != null) {
@@ -405,7 +407,7 @@ public class CommandResult implements Result {
     } catch (GfJsonException e) {
       resultLines
           .add("Error occurred while processing Command Result. Internal Error - Invalid Result.");
-      LogWrapper.getInstance().info(
+      logger.info(
           "Error occurred while processing Command Result. Internal Error - Invalid Result.", e);
     } finally {
       isDataBuilt = true;
@@ -473,11 +475,6 @@ public class CommandResult implements Result {
     return valueString.split(GfshParser.LINE_SEPARATOR);
   }
 
-  /**
-   * @param rowGroup
-   * @param content
-   * @throws GfJsonException
-   */
   private void buildTable(RowGroup rowGroup, GfJsonObject content) throws GfJsonException {
     GfJsonArray columnNames = content.names();
     int numOfColumns = columnNames.size();
@@ -509,13 +506,6 @@ public class CommandResult implements Result {
     }
   }
 
-  /**
-   * @param rowGroup
-   * @param dataRows
-   * @param accumulatedData
-   * @return rows
-   * @throws GfJsonException
-   */
   private Row[] buildRows(RowGroup rowGroup, Row[] dataRows, GfJsonArray accumulatedData)
       throws GfJsonException {
     int size = accumulatedData.size();
@@ -536,6 +526,7 @@ public class CommandResult implements Result {
     return dataRows;
   }
 
+  @Override
   public boolean hasIncomingFiles() {
     GfJsonArray fileDataArray = null;
     try {
@@ -553,6 +544,7 @@ public class CommandResult implements Result {
     return numTimesSaved;
   }
 
+  @Override
   public void saveIncomingFiles(String directory) throws IOException {
     // dump file data if any
     try {
@@ -652,7 +644,7 @@ public class CommandResult implements Result {
     return getFooter(gfJsonObject);
   }
 
-  public String getFooter(GfJsonObject gfJsonObject) {
+  private String getFooter(GfJsonObject gfJsonObject) {
     return gfJsonObject.getString(ResultData.RESULT_FOOTER);
   }
 
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java
index cd3e4ed..50ca611 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java
@@ -163,8 +163,6 @@ public class Gfsh extends JLineShell {
    * Create a GemFire shell with console using the specified arguments.
    *
    * @param args arguments to be used to create a GemFire shell instance
-   * @throws IOException
-   * @throws ClassNotFoundException
    */
   protected Gfsh(String[] args) {
     this(true, args, new GfshConfig());
@@ -176,8 +174,6 @@ public class Gfsh extends JLineShell {
    *
    * @param launchShell whether to make Console available
    * @param args arguments to be used to create a GemFire shell instance or execute command
-   * @throws IOException
-   * @throws ClassNotFoundException
    */
   protected Gfsh(boolean launchShell, String[] args, GfshConfig gfshConfig) {
     // 1. Disable suppressing of duplicate messages
@@ -185,7 +181,8 @@ public class Gfsh extends JLineShell {
 
     // 2. set & use gfshConfig
     this.gfshConfig = gfshConfig;
-    this.gfshFileLogger = LogWrapper.getInstance();
+    // The cache doesn't exist yet, since we are still setting up parsing.
+    this.gfshFileLogger = LogWrapper.getInstance(null);
     this.gfshFileLogger.configure(this.gfshConfig);
     this.ansiHandler = ANSIHandler.getInstance(this.gfshConfig.isANSISupported());
 
@@ -236,7 +233,7 @@ public class Gfsh extends JLineShell {
       System.setProperty("jline.terminal", GfshUnsupportedTerminal.class.getName());
       env.put(ENV_APP_QUIET_EXECUTION, String.valueOf(true));
       // Only in headless mode, we do not want Gfsh's logger logs on screen
-      LogWrapper.getInstance().setParentFor(logger);
+      this.gfshFileLogger.setParentFor(logger);
     }
     // we want to direct internal JDK logging to file in either mode
     redirectInternalJavaLoggers();
@@ -310,7 +307,7 @@ public class Gfsh extends JLineShell {
    * logWrapper disables any parents's log handler, and only logs to the file if specified. This
    * would prevent JDK's logging show up in the console
    */
-  public static void redirectInternalJavaLoggers() {
+  public void redirectInternalJavaLoggers() {
     // Do we need to this on re-connect?
     LogManager logManager = LogManager.getLogManager();
 
@@ -328,12 +325,12 @@ public class Gfsh extends JLineShell {
            * properly handle the case where the Logger has been garbage collected.
            */
           if (javaLogger != null) {
-            LogWrapper.getInstance().setParentFor(javaLogger);
+            this.gfshFileLogger.setParentFor(javaLogger);
           }
         }
       }
     } catch (SecurityException e) {
-      LogWrapper.getInstance().warning(e.getMessage(), e);
+      this.gfshFileLogger.warning(e.getMessage(), e);
     }
   }
 
@@ -560,8 +557,8 @@ public class Gfsh extends JLineShell {
     return parser;
   }
 
-  public GfshParser getGfshParser() {
-    return parser;
+  public LogWrapper getGfshFileLogger() {
+    return gfshFileLogger;
   }
 
   /**
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategy.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategy.java
index 62b9c31..be641d8 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategy.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategy.java
@@ -54,7 +54,7 @@ public class GfshExecutionStrategy implements ExecutionStrategy {
 
   GfshExecutionStrategy(Gfsh shell) {
     this.shell = shell;
-    this.logWrapper = LogWrapper.getInstance();
+    this.logWrapper = shell.getGfshFileLogger();
   }
 
   /**
@@ -220,7 +220,7 @@ public class GfshExecutionStrategy implements ExecutionStrategy {
         debugInfo =
             debugInfo.replaceAll("\n", "\n[From Manager : " + commandResponse.getSender() + "]");
         debugInfo = "[From Manager : " + commandResponse.getSender() + "]" + debugInfo;
-        LogWrapper.getInstance().info(debugInfo);
+        this.logWrapper.info(debugInfo);
       }
       commandResult = ResultBuilder.fromJson((String) response);
     } else if (response instanceof Path) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/JmxOperationInvoker.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/JmxOperationInvoker.java
index 14318e8..bb00731 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/JmxOperationInvoker.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/JmxOperationInvoker.java
@@ -48,8 +48,10 @@ import javax.rmi.ssl.SslRMIClientSocketFactory;
 
 import com.healthmarketscience.rmiio.RemoteOutputStreamClient;
 import org.apache.commons.io.IOUtils;
+import org.apache.logging.log4j.Logger;
 
 import org.apache.geode.internal.admin.SSLConfig;
+import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.internal.net.SSLConfigurationFactory;
 import org.apache.geode.internal.security.SecurableCommunicationChannel;
 import org.apache.geode.management.DistributedSystemMXBean;
@@ -59,7 +61,6 @@ import org.apache.geode.management.internal.ManagementConstants;
 import org.apache.geode.management.internal.beans.FileUploader;
 import org.apache.geode.management.internal.beans.FileUploaderMBean;
 import org.apache.geode.management.internal.cli.CommandRequest;
-import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.security.ResourceConstants;
 
 /**
@@ -68,6 +69,7 @@ import org.apache.geode.management.internal.security.ResourceConstants;
  * @since GemFire 7.0
  */
 public class JmxOperationInvoker implements OperationInvoker {
+  private static final Logger logger = LogService.getLogger();
 
   public static final String JMX_URL_FORMAT = "service:jmx:rmi://{0}/jndi/rmi://{0}:{1}/jmxrmi";
 
@@ -159,15 +161,14 @@ public class JmxOperationInvoker implements OperationInvoker {
           MBeanJMXAdapter.getDistributedSystemName(), DistributedSystemMXBean.class);
 
       if (this.distributedSystemMXBeanProxy == null) {
-        LogWrapper.getInstance().info(
+        logger.info(
             "DistributedSystemMXBean is not present on member with endpoints : " + this.endpoints);
         throw new JMXConnectionException(JMXConnectionException.MANAGER_NOT_FOUND_EXCEPTION);
       } else {
         this.managerMemberObjectName = this.distributedSystemMXBeanProxy.getMemberObjectName();
         if (this.managerMemberObjectName == null || !JMX.isMXBeanInterface(MemberMXBean.class)) {
-          LogWrapper.getInstance()
-              .info("MemberMXBean with ObjectName " + this.managerMemberObjectName
-                  + " is not present on member with endpoints : " + endpoints);
+          logger.info("MemberMXBean with ObjectName " + this.managerMemberObjectName
+              + " is not present on member with endpoints : " + endpoints);
           throw new JMXConnectionException(JMXConnectionException.MANAGER_NOT_FOUND_EXCEPTION);
         } else {
           this.memberMXBeanProxy =
@@ -376,14 +377,9 @@ public class JmxOperationInvoker implements OperationInvoker {
     // if host string contains ":", considering it as an IPv6 Address
     // Conforming to RFC2732 - http://www.ietf.org/rfc/rfc2732.txt
     if (hostAddress.contains(":")) {
-      LogWrapper logger = LogWrapper.getInstance();
-      if (logger.fineEnabled()) {
-        logger.fine("IPv6 host address detected, using IPv6 syntax for host in JMX connection URL");
-      }
+      logger.debug("IPv6 host address detected, using IPv6 syntax for host in JMX connection URL");
       hostAddress = "[" + hostAddress + "]";
-      if (logger.fineEnabled()) {
-        logger.fine("Compatible host address is : " + hostAddress);
-      }
+      logger.debug("Compatible host address is : " + hostAddress);
     }
     return hostAddress;
   }
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/MergeLogs.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/MergeLogs.java
index cd9f72f..67446e3 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/MergeLogs.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/MergeLogs.java
@@ -20,7 +20,6 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.PrintWriter;
@@ -31,13 +30,12 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.logging.log4j.Logger;
 
+import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.internal.logging.MergeLogFiles;
-import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.cli.GfshParser;
-import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.cli.result.ResultBuilder;
 
 /**
  *
@@ -45,10 +43,23 @@ import org.apache.geode.management.internal.cli.result.ResultBuilder;
  */
 
 public class MergeLogs {
+  private static final Logger logger = LogService.getLogger();
+
+  public static void main(String[] args) {
+    if (args.length < 1 || args.length > 1) {
+      throw new IllegalArgumentException("Requires only 1  arguments : <targetDirName>");
+    }
+    try {
+      String result = mergeLogFile(args[0]).getCanonicalPath();
+      System.out.println("Merged logs to: " + result);
+    } catch (Exception e) {
+      System.out.println(e.getMessage());
+    }
+  }
 
   public static void mergeLogsInNewProcess(Path logDirectory) {
     // create a new process for merging
-    LogWrapper.getInstance().fine("Exporting logs merging logs" + logDirectory);
+    logger.info("Exporting logs merging logs" + logDirectory);
     List<String> commandList = new ArrayList<String>();
     commandList.add(
         System.getProperty("java.home") + File.separatorChar + "bin" + File.separatorChar + "java");
@@ -60,9 +71,8 @@ public class MergeLogs {
 
     ProcessBuilder procBuilder = new ProcessBuilder(commandList);
     StringBuilder output = new StringBuilder();
-    String errorString = new String();
     try {
-      LogWrapper.getInstance().fine("Exporting logs now merging logs");
+      logger.info("Exporting logs now merging logs");
       Process mergeProcess = procBuilder.redirectErrorStream(true).start();
 
       mergeProcess.waitFor();
@@ -76,27 +86,13 @@ public class MergeLogs {
       }
       mergeProcess.destroy();
     } catch (Exception e) {
-      LogWrapper.getInstance().severe(e.getMessage());
+      logger.error(e.getMessage());
     }
     if (output.toString().contains("Merged logs to: ")) {
-      LogWrapper.getInstance().fine("Exporting logs Sucessfully merged logs");
+      logger.info("Exporting logs successfully merged logs");
     } else {
-      LogWrapper.getInstance().severe("Could not merge");
-    }
-  }
-
-  public static void main(String[] args) {
-    if (args.length < 1 || args.length > 1) {
-      throw new IllegalArgumentException("Requires only 1  arguments : <targetDirName>");
+      logger.error("Could not merge");
     }
-    try {
-      String result = mergeLogFile(args[0]).getCanonicalPath();
-      System.out.println("Merged logs to: " + result);
-    } catch (Exception e) {
-      System.out.println(e.getMessage());
-    }
-
-
   }
 
   protected static List<File> findLogFilesToMerge(File dir) {
@@ -125,7 +121,7 @@ public class MergeLogs {
           + new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss").format(new java.util.Date()) + ".log";
       mergedLogFile = new File(mergeLog);
       mergedLog = new PrintWriter(mergedLogFile);
-      boolean flag = MergeLogFiles.mergeLogFiles(logFiles, logFileNames, mergedLog);
+      MergeLogFiles.mergeLogFiles(logFiles, logFileNames, mergedLog);
     } catch (FileNotFoundException e) {
       throw new Exception(
           "FileNotFoundException in creating PrintWriter in MergeLogFiles" + e.getMessage());
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/CliUtilDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/CliUtilDUnitTest.java
index 4bb7326..0eccaf2 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/CliUtilDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/CliUtilDUnitTest.java
@@ -88,43 +88,49 @@ public class CliUtilDUnitTest {
   @Test
   public void findMembers() throws Exception {
     locator.invoke(() -> {
+      InternalCache cache = ClusterStartupRule.getCache();
       // can't pass in both group and names
-      assertThatThrownBy(() -> CliUtil.findMembers("group1".split(","), "member1".split(",")))
-          .isInstanceOf(UserErrorException.class);
+      assertThatThrownBy(
+          () -> CliUtil.findMembers("group1".split(","), "member1".split(","), cache))
+              .isInstanceOf(UserErrorException.class);
 
       // finds all servers
-      members = CliUtil.findMembers(null, null);
+      members = CliUtil.findMembers(null, null, cache);
       assertThat(getNames(members)).containsExactlyInAnyOrder("member1", "member2", "member3",
           "member4");
 
       // find only one member
-      members = CliUtil.findMembers(null, "member1".split(","));
+      members = CliUtil.findMembers(null, "member1".split(","), cache);
       assertThat(getNames(members)).containsExactly("member1");
 
       // find multiple members
-      members = CliUtil.findMembers(null, "member1,member3".split(","));
+      members = CliUtil.findMembers(null, "member1,member3".split(","), cache);
       assertThat(getNames(members)).containsExactlyInAnyOrder("member1", "member3");
 
       // find multiple members
-      members = CliUtil.findMembers(null, "MembER1,member3".split(","));
+      members = CliUtil.findMembers(null, "MembER1,member3".split(","), cache);
       assertThat(getNames(members)).containsExactlyInAnyOrder("member1", "member3");
 
       // find only one group
-      members = CliUtil.findMembers("group1".split(","), null);
+      members = CliUtil.findMembers("group1".split(","), null, cache);
       assertThat(getNames(members)).containsExactlyInAnyOrder("member1", "member2");
 
       // find multiple groups
-      members = CliUtil.findMembers("group1,group2".split(","), null);
+      members = CliUtil.findMembers("group1,group2".split(","), null, cache);
       assertThat(getNames(members)).containsExactlyInAnyOrder("member1", "member2", "member3",
           "member4");
     });
   }
 
-  public void getMember() throws Exception {
+  public void getMember() {
     locator.invoke(() -> {
-      assertThat(CliUtil.getDistributedMemberByNameOrId("notValidName")).isNull();
-      assertThat(CliUtil.getDistributedMemberByNameOrId("member1").getName()).isEqualTo("member1");
-      assertThat(CliUtil.getDistributedMemberByNameOrId("MembER1").getName()).isEqualTo("member1");
+      assertThat(
+          CliUtil.getDistributedMemberByNameOrId("notValidName", ClusterStartupRule.getCache()))
+              .isNull();
+      assertThat(CliUtil.getDistributedMemberByNameOrId("member1", ClusterStartupRule.getCache())
+          .getName()).isEqualTo("member1");
+      assertThat(CliUtil.getDistributedMemberByNameOrId("MembER1", ClusterStartupRule.getCache())
+          .getName()).isEqualTo("member1");
     });
   }
 
@@ -174,12 +180,13 @@ public class CliUtilDUnitTest {
   @Test
   public void getMemberByNameOrId() throws Exception {
     locator.invoke(() -> {
-      DistributedMember member = CliUtil.getDistributedMemberByNameOrId("member1");
+      DistributedMember member =
+          CliUtil.getDistributedMemberByNameOrId("member1", ClusterStartupRule.getCache());
       assertThat(member.getName()).isEqualTo("member1");
       assertThat(member.getId()).contains("member1:");
       assertThat(member.getGroups()).containsExactly("group1");
 
-      member = CliUtil.getDistributedMemberByNameOrId("member100");
+      member = CliUtil.getDistributedMemberByNameOrId("member100", ClusterStartupRule.getCache());
       assertThat(member).isNull();
     });
   }
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowLogCommandDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowLogCommandDUnitTest.java
index c13c1af..0a66d25 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowLogCommandDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowLogCommandDUnitTest.java
@@ -163,8 +163,10 @@ public class ShowLogCommandDUnitTest implements Serializable {
   private static boolean allMembersAreConnected() {
     return manager.getVM().invoke(() -> {
       InternalCache cache = (InternalCache) CacheFactory.getAnyInstance();
-      DistributedMember server1 = CliUtil.getDistributedMemberByNameOrId(SERVER1_NAME);
-      DistributedMember server2 = CliUtil.getDistributedMemberByNameOrId(SERVER2_NAME);
+      DistributedMember server1 =
+          CliUtil.getDistributedMemberByNameOrId(SERVER1_NAME, ClusterStartupRule.getCache());
+      DistributedMember server2 =
+          CliUtil.getDistributedMemberByNameOrId(SERVER2_NAME, ClusterStartupRule.getCache());
 
       ShowLogCommand showLogCommand = new ShowLogCommand();
 
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessorTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessorTest.java
index f4e2955..89a3e6c 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessorTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/remote/OnlineCommandProcessorTest.java
@@ -55,7 +55,8 @@ public class OnlineCommandProcessorTest {
     result = mock(Result.class);
     when(executor.execute(any())).thenReturn(result);
 
-    onlineCommandProcessor = new OnlineCommandProcessor(properties, securityService, executor);
+    onlineCommandProcessor =
+        new OnlineCommandProcessor(properties, securityService, executor, null);
   }
 
 
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyTest.java
index bc5362b..201e1f8 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyTest.java
@@ -29,6 +29,7 @@ import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.cli.CommandRequest;
 import org.apache.geode.management.internal.cli.CommandResponseBuilder;
 import org.apache.geode.management.internal.cli.GfshParseResult;
+import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.management.internal.cli.result.ResultBuilder;
 import org.apache.geode.test.junit.categories.UnitTest;
@@ -38,8 +39,8 @@ import org.apache.geode.test.junit.categories.UnitTest;
  */
 @Category(UnitTest.class)
 public class GfshExecutionStrategyTest {
-  private static final String COMMAND1_SUCESS = "Command1 Executed successfully";
-  private static final String COMMAND2_SUCESS = "Command2 Executed successfully";
+  private static final String COMMAND1_SUCCESS = "Command1 Executed successfully";
+  private static final String COMMAND2_SUCCESS = "Command2 Executed successfully";
 
   private Gfsh gfsh;
   private GfshParseResult parsedCommand;
@@ -48,6 +49,7 @@ public class GfshExecutionStrategyTest {
   @Before
   public void before() {
     gfsh = mock(Gfsh.class);
+    when(gfsh.getGfshFileLogger()).thenReturn(LogWrapper.getInstance(null));
     parsedCommand = mock(GfshParseResult.class);
     gfshExecutionStrategy = new GfshExecutionStrategy(gfsh);
   }
@@ -60,7 +62,7 @@ public class GfshExecutionStrategyTest {
     when(parsedCommand.getMethod()).thenReturn(Commands.class.getDeclaredMethod("offlineCommand"));
     when(parsedCommand.getInstance()).thenReturn(new Commands());
     Result result = (Result) gfshExecutionStrategy.execute(parsedCommand);
-    assertThat(result.nextLine().trim()).isEqualTo(COMMAND1_SUCESS);
+    assertThat(result.nextLine().trim()).isEqualTo(COMMAND1_SUCCESS);
   }
 
   /**
@@ -88,7 +90,7 @@ public class GfshExecutionStrategyTest {
     when(invoker.processCommand(any(CommandRequest.class))).thenReturn(jsonResult);
     when(gfsh.getOperationInvoker()).thenReturn(invoker);
     Result result = (Result) gfshExecutionStrategy.execute(parsedCommand);
-    assertThat(result.nextLine().trim()).isEqualTo(COMMAND2_SUCESS);
+    assertThat(result.nextLine().trim()).isEqualTo(COMMAND2_SUCCESS);
   }
 
   /**
@@ -97,12 +99,12 @@ public class GfshExecutionStrategyTest {
   public static class Commands implements CommandMarker {
     @CliMetaData(shellOnly = true)
     public Result offlineCommand() {
-      return ResultBuilder.createInfoResult(COMMAND1_SUCESS);
+      return ResultBuilder.createInfoResult(COMMAND1_SUCCESS);
     }
 
     @CliMetaData(shellOnly = false)
     public Result onlineCommand() {
-      return ResultBuilder.createInfoResult(COMMAND2_SUCESS);
+      return ResultBuilder.createInfoResult(COMMAND2_SUCCESS);
     }
   }
 }
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
index ca89f06..fe19ca4 100755
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
@@ -14,7 +14,10 @@
  */
 package org.apache.geode.management.internal.cli.shell;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -124,7 +127,7 @@ public class GfshInitFileJUnitTest {
 
     this.junitLoggerHandler = new JUnitLoggerHandler();
 
-    this.gfshFileLogger = LogWrapper.getInstance();
+    this.gfshFileLogger = LogWrapper.getInstance(null);
     Field logWrapper_INSTANCE = LogWrapper.class.getDeclaredField("INSTANCE");
     logWrapper_INSTANCE.setAccessible(true);
     logWrapper_INSTANCE.set(null, this.gfshFileLogger);
diff --git a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java
index e36e96f..7834312 100644
--- a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java
@@ -461,8 +461,9 @@ public class DescribeClientCommandDUnitTest extends CliCommandTestBase {
               }
             }
           } catch (Exception e) {
-            LogWrapper.getInstance().warning("waitForMixedClients Exception in waitForMBean ::: "
-                + ExceptionUtils.getStackTrace(e));
+            LogWrapper.getInstance(cache)
+                .warning("waitForMixedClients Exception in waitForMBean ::: "
+                    + ExceptionUtils.getStackTrace(e));
           }
           return false;
         }));
@@ -611,7 +612,7 @@ public class DescribeClientCommandDUnitTest extends CliCommandTestBase {
               return false;
 
             } catch (Exception e) {
-              LogWrapper.getInstance()
+              LogWrapper.getInstance(cache)
                   .warning("waitForListClientMBean3 Exception in waitForListClientMbean ::: "
                       + ExceptionUtils.getStackTrace(e));
             }
@@ -652,7 +653,7 @@ public class DescribeClientCommandDUnitTest extends CliCommandTestBase {
               }
               return false;
             } catch (Exception e) {
-              LogWrapper.getInstance().warning(
+              LogWrapper.getInstance(cache).warning(
                   "waitForMBean Exception in waitForMBean ::: " + ExceptionUtils.getStackTrace(e));
             }
             return false;
@@ -754,7 +755,7 @@ public class DescribeClientCommandDUnitTest extends CliCommandTestBase {
               }
             }
           } catch (Exception e) {
-            LogWrapper.getInstance()
+            LogWrapper.getInstance(cache)
                 .warning("waitForNonSubScribedClientMBean Exception in waitForMBean ::: "
                     + ExceptionUtils.getStackTrace(e));
           }
diff --git a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/ListClientCommandDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/ListClientCommandDUnitTest.java
index 4d84f1e..4b1bf0b 100644
--- a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/ListClientCommandDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/ListClientCommandDUnitTest.java
@@ -57,7 +57,6 @@ import org.apache.geode.management.CacheServerMXBean;
 import org.apache.geode.management.ManagementService;
 import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.SystemManagementService;
-import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.LogWrapper;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.CommandResult;
@@ -298,7 +297,7 @@ public class ListClientCommandDUnitTest extends CliCommandTestBase {
               return false;
 
             } catch (Exception e) {
-              LogWrapper.getInstance()
+              LogWrapper.getInstance(cache)
                   .warning("waitForListClientMbean3 Exception in waitForListClientMbean ::: "
                       + ExceptionUtils.getStackTrace(e));
             }
@@ -383,7 +382,7 @@ public class ListClientCommandDUnitTest extends CliCommandTestBase {
               }
               return false;
             } catch (Exception e) {
-              LogWrapper.getInstance()
+              LogWrapper.getInstance(cache)
                   .warning("waitForListClientMbean Exception in waitForListClientMbean ::: "
                       + ExceptionUtils.getStackTrace(e));
             }

-- 
To stop receiving notification emails like this one, please contact
prhomberg@apache.org.