diff --git a/CHANGELOG.md b/CHANGELOG.md index 2474a786..e94bc972 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ A preview of the next release can be installed from - Upgrade SCI reflector based on clojure 1.12 and remove specific workaround for `Thread/sleep` interop - Add `tools.reader.edn/read` +- Fix [#1741](https://github.com/babashka/babashka/issues/1741): `(taoensso.timbre/spy)` now relies on macros from `taoensso.encore` previously not available in bb ## 1.4.192 (2024-09-12) diff --git a/feature-logging/babashka/impl/logging.clj b/feature-logging/babashka/impl/logging.clj index 5eff64c2..9aa51e83 100644 --- a/feature-logging/babashka/impl/logging.clj +++ b/feature-logging/babashka/impl/logging.clj @@ -3,9 +3,8 @@ [clojure.tools.logging.impl :as impl] [clojure.tools.logging.readable] [sci.core :as sci] - [taoensso.encore :as enc :refer [have]] - [taoensso.timbre :as timbre] - [taoensso.timbre.appenders.core :as appenders])) + [taoensso.encore :as encore :refer [have]] + [taoensso.timbre :as timbre])) ;;;; timbre @@ -14,7 +13,7 @@ (defn- fline [and-form] (:line (meta and-form))) (defonce callsite-counter - (enc/counter)) + (encore/counter)) (defmacro log! ; Public wrapper around `-log!` "Core low-level log macro. Useful for tooling/library authors, etc. @@ -114,7 +113,7 @@ :*err* @sci/err stream)] (binding [*out* stream] - (enc/println-atomic (force output_)))))})) + (encore/println-atomic (force output_)))))})) (def default-config (assoc-in timbre/*config* [:appenders :println] (println-appender {:stream :auto}))) @@ -127,7 +126,7 @@ (defn set-level! [level] (swap-config! (fn [m] (assoc m :min-level level)))) -(defn merge-config! [m] (swap-config! (fn [old] (enc/nested-merge old m)))) +(defn merge-config! [m] (swap-config! (fn [old] (encore/nested-merge old m)))) (defmacro -log-and-rethrow-errors [?line & body] `(try (do ~@body) @@ -150,7 +149,13 @@ 'set-level! (sci/copy-var set-level! tns) 'println-appender (sci/copy-var println-appender tns) '-log-and-rethrow-errors (sci/copy-var -log-and-rethrow-errors tns) - '-ensure-vec (sci/copy-var enc/ensure-vec tns))) + '-ensure-vec (sci/copy-var encore/ensure-vec tns))) + +(def enc-ns (sci/create-ns 'taoensso.encore)) + +(def encore-namespace + {'catching (sci/copy-var encore/catching enc-ns) + 'try* (sci/copy-var encore/try* enc-ns)}) (def timbre-appenders-namespace (let [tan (sci/create-ns 'taoensso.timbre.appenders.core nil)] @@ -188,7 +193,7 @@ #'clojure.tools.logging/*logger-factory* (fn [_] (LoggerFactory. - (enc/memoize (fn [logger-ns] (Logger. (str logger-ns) config)))))) + (encore/memoize (fn [logger-ns] (Logger. (str logger-ns) config)))))) (def lns (sci/create-ns 'clojure.tools.logging nil)) diff --git a/src/babashka/main.clj b/src/babashka/main.clj index 5bc42ede..d4d012e0 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -482,6 +482,7 @@ Use bb run --help to show this help output. @(resolve 'babashka.impl.selmer/selmer-validator-namespace)) features/logging? (assoc 'taoensso.timbre @(resolve 'babashka.impl.logging/timbre-namespace) 'taoensso.timbre.appenders.core @(resolve 'babashka.impl.logging/timbre-appenders-namespace) + 'taoensso.encore @(resolve 'babashka.impl.logging/encore-namespace) 'clojure.tools.logging @(resolve 'babashka.impl.logging/tools-logging-namespace) 'clojure.tools.logging.impl