public static ExecutorService newFunctionThreadPoolWithFeedStatistics(int poolSize,
      int workQueueSize, QueueStatHelper queueStatHelper, String threadName,
      ThreadInitializer threadInitializer, CommandWrapper commandWrapper,
      PoolStatHelper poolStatHelper, ThreadsMonitoring threadsMonitoring) {
    BlockingQueue<Runnable> workQueue =
        createWorkQueueWithStatistics(workQueueSize, queueStatHelper);
    ThreadFactory threadFactory =
        new LoggingThreadFactory(threadName, threadInitializer, commandWrapper);
    return new FunctionExecutionPooledExecutor(poolSize, workQueue, threadFactory, poolStatHelper,
        threadsMonitoring);
  }
Utility class that creates instances of ExecutorService whose threads will always log uncaught
exceptions.
geode-core/src/main/java/org/apache/geode/internal/logging/CoreLoggingExecutors.java