code: private static void logIOException(String message, Logger logger, Throwable t) {
          Throwable cause = t.getCause();
          if (cause != null) {
              logger.info(message, cause);
          } else {
              logger.info(message);
          }
      }
docs: IOExceptions ("Network connectivity has been lost or transport was closed at other end")
  can be frequent due to network timeouts (inactivity timeout) or loss of network connectivity
  so we only print info level and include a stack trace of the cause, if there is one.