code: public static void log(Logger logger,
                             Level level,
                             String message,
                             Throwable throwable,
                             Object parameter) {
          if (logger.isLoggable(level)) {
              final String formattedMessage =
                              MessageFormat.format(localize(logger, message), parameter);
              doLog(logger, level, formattedMessage, throwable);
          }
      }
docs: Allows both parameter substitution and a typed Throwable to be logged.
  
  @param logger the Logger the log to
  @param level the severity level
  @param message the log message
  @param throwable the Throwable to log
  @param parameter the parameter to substitute into message