code: public static <T extends Throwable> void printHistory(final String message, T th, final Logger logger) {
          printHistory(new CouldNotPerformException(message, th), logger, LogLevel.ERROR);
      }
docs: Print Exception messages without stack trace in non debug mode. Method prints recursive all messages of the given exception stack to get a history overview of the causes. In verbose mode (app
  -v) the stacktrace is printed in the end of history. The logging level is fixed to level "error". The given message and the exception are bundled as new CouldNotPerformException and further processed.
  
  @param <T> Exception type
  @param message the reason why this exception occurs.
  @param th exception cause.
  @param logger