@Override
  public Thread newThread(Runnable runnable) {
    Runnable commandToRun;
    if (commandWrapper != null) {
      commandToRun = () -> commandWrapper.invoke(runnable);
    } else {
      commandToRun = runnable;
    }
    Thread thread = new LoggingThread(getUniqueName(), isDaemon, commandToRun);
    if (threadInitializer != null) {
      threadInitializer.initialize(thread);
    }
    return thread;
  }
Create a factory that produces daemon threads that log uncaught exceptions

@param baseName the base name will be included in every thread name
@param commandWrapper if not null, will be invoked by each thread created by this factory
geode-logging/src/main/java/org/apache/geode/logging/internal/executors/LoggingThreadFactory.java