Logger.logQuietly(cfgDesc.resultException);
    public static void main(String[] args) {        ProcessCompound rootProcess = null;        showVersionInfo();        OptionSet opts = new OptionSet(args);        if (opts.errorString != null) {            Logger.log(opts.errorString);            exitWithError();        }        try {            rootProcess = runSmartFrog(opts.cfgDescriptors);        } catch (SmartFrogException sfex) {            Logger.log(sfex);            exitWithError();        } catch (UnknownHostException uhex) {            Logger.log(MessageUtil.formatMessage(MSG_UNKNOWN_HOST, opts.host), uhex);            exitWithError();        } catch (ConnectException cex) {            Logger.log(MessageUtil.formatMessage(MSG_CONNECT_ERR, opts.host), cex);            exitWithError();        } catch (RemoteException rmiEx) {            // log stack trace            Logger.log(MessageUtil.formatMessage(MSG_REMOTE_CONNECT_ERR,                    opts.host), rmiEx);            exitWithError();        } catch (Exception ex) {            //log stack trace            Logger.log(MessageUtil.                    formatMessage(MSG_UNHANDLED_EXCEPTION), ex);            exitWithError();        }        //Report Actions successes of failures.         boolean somethingFailed = false;         ConfigurationDescriptor cfgDesc = null;         for (Enumeration items = opts.cfgDescriptors.elements();              items.hasMoreElements(); ) {             cfgDesc = (ConfigurationDescriptor)items.nextElement();             if (cfgDesc.getResultType()==ConfigurationDescriptor.Result.FAILED) {                 somethingFailed = true;             }             Logger.log(" - "+(cfgDesc).statusString()+"\n");             //Logger.logQuietly(cfgDesc.resultException);         }        // Check for exit flag        if (opts.exit) {            exitWithStatus(somethingFailed);        } else {            //Logger.log(MessageUtil.formatMessage(MSG_SF_READY));            if (Logger.logStackTrace) {                String name = "";                try {                    if (rootProcess != null) {                        name = rootProcess.sfResolve(SmartFrogCoreKeys.SF_PROCESS_NAME, name, false);                    }                } catch (Exception ex) {                    //ignore.                }                Logger.log(MessageUtil.formatMessage(MSG_SF_READY, "[" + name + "]") + " " + new Date(System.currentTimeMillis()));            } else {                Logger.log(MessageUtil.formatMessage(MSG_SF_READY, ""));            }        }    }