     (let [config-format (try
                           (com.google.common.io.Files/getFileExtension config)
                           (catch Throwable t
-                            (.println System/err (str "Failed to start Cook" t))
+                            (.println System/err "Failed to start Cook")
+                            (stacktrace/print-cause-trace t)
+                            (println "Exiting.")
                             (System/exit 1)))
           literal-config (try
                            {:config

                                (.println System/err (str "Invalid config file format " config-format))
                                (System/exit 1)))}
                           (catch Throwable t
                             (.println System/err (str "Failed to start Cook" t))
                             (System/exit 1)))]
      (pre-configuration literal-config)
      (.println System/err "Configured logging")

            [clojure.core.cache :as cache]
            [clojure.edn :as edn]
            [clojure.pprint :refer (pprint)]
            [clojure.stacktrace :as stacktrace]
            [clojure.string :as str]
            [clojure.tools.logging :as log]
            [compojure.core :refer (GET POST routes context)]
