                        bash-reset
                        (if parallel
                          " in parallel")))
-        (dorun (map-fn #(perform % user cluster task taskName args)
-                       addresses))
-        (dorun (map-fn #(perform (:host %) (:user %) cluster task taskName args)
-                       clients))
+        (binding [*enable-logging* (if (nil? log) true log)]
+          (dorun (map-fn #(perform % user cluster task taskName args)
+                                 addresses))
+          (dorun (map-fn #(perform (:host %) (:user %) cluster task taskName args)
+                         clients)))
         (shutdown-agents)))))
 
 (defn begin []
-  (do-begin *command-line-args*))
+  (do-begin *command-line-args*))
        [clojure.contrib.def :only [defvar- defvar]]))

(def *enable-color* true)
(defvar- bash-reset "\033[0m")
(defvar- bash-bold "\033[1m")
(defvar- bash-redbold "\033[1;31m")

       (join " " content)))

(defn log-with-tag [host tag & content]
  (if (and *enable-logging* (not (blank? (join " " content))))
    (println (gen-log host tag content))))

(defn- not-nil? [obj]
