diff --git a/doc/img/cljs-ns-reload.png b/doc/img/cljs-ns-reload.png index e71c2cf..71dee04 100644 Binary files a/doc/img/cljs-ns-reload.png and b/doc/img/cljs-ns-reload.png differ diff --git a/src/mount/core.cljc b/src/mount/core.cljc index 4882ab3..7100121 100644 --- a/src/mount/core.cljc +++ b/src/mount/core.cljc @@ -1,7 +1,9 @@ (ns mount.core #?(:clj (:require [mount.tools.macro :refer [on-error throw-runtime] :as macro] + [mount.tools.logger :refer [log]] [clojure.string :as s]) - :cljs (:require [mount.tools.macro :as macro])) + :cljs (:require [mount.tools.macro :as macro] + [mount.tools.logger :refer [log]])) #?(:cljs (:require-macros [mount.core] [mount.tools.macro :refer [if-clj on-error throw-runtime]]))) @@ -51,9 +53,7 @@ [state] (when-let [{:keys [stop] :as up} (@running state)] (when stop - (let [note (str "<< stopping.. " state " (namespace was recompiled)")] - #?(:clj (prn note) - :cljs (.log js/console note))) + (log (str "<< stopping.. " state " (namespace was recompiled)")) (stop)) (swap! running dissoc state))) @@ -131,14 +131,6 @@ (up name state (atom #{}))) @inst))) -#?(:clj - (defn log [msg] - (prn msg))) - -#?(:cljs - (defn log [msg] - (.log js/console msg))) - #?(:clj (defmacro defstate [state & body] (let [[state params] (macro/name-with-attributes state body) diff --git a/src/mount/tools/logger.cljc b/src/mount/tools/logger.cljc new file mode 100644 index 0000000..1644264 --- /dev/null +++ b/src/mount/tools/logger.cljc @@ -0,0 +1,18 @@ +(ns mount.tools.logger + #?@(:cljs [(:require [goog.log :as glog]) + (:import [goog.debug Console])])) + +#?(:cljs + (defonce *logger* + (do + (.setCapturing (Console.) true) + (glog/getLogger "mount")))) + +#?(:clj + (defn log [msg] + (prn msg))) + +#?(:cljs + (defn log [msg] + (glog/info *logger* msg))) +