Compare commits
4 commits
master
...
reduce-blo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6233eb5abf | ||
|
|
c9ed8ce24f | ||
|
|
ff83b69990 | ||
|
|
2a36d76e74 |
3 changed files with 14 additions and 50 deletions
|
|
@ -3,8 +3,7 @@
|
|||
[clojure.tools.logging.impl :as impl]
|
||||
[sci.core :as sci]
|
||||
[taoensso.encore :as enc :refer [have]]
|
||||
[taoensso.timbre :as timbre]
|
||||
[taoensso.timbre.appenders.core :as appenders]))
|
||||
[taoensso.timbre :as timbre]))
|
||||
|
||||
;;;; timbre
|
||||
|
||||
|
|
@ -60,44 +59,7 @@
|
|||
{}
|
||||
(select-keys (ns-publics ns) ks)))
|
||||
|
||||
(def atomic-println @#'appenders/atomic-println)
|
||||
|
||||
(defn println-appender
|
||||
"Returns a simple `println` appender for Clojure/Script.
|
||||
Use with ClojureScript requires that `cljs.core/*print-fn*` be set.
|
||||
:stream (clj only) - e/o #{:auto :*out* :*err* :std-err :std-out <io-stream>}."
|
||||
|
||||
;; Unfortunately no easy way to check if *print-fn* is set. Metadata on the
|
||||
;; default throwing fn would be nice...
|
||||
|
||||
[& [{:keys [stream] :or {stream :auto}}]]
|
||||
(let [stream
|
||||
(case stream
|
||||
:std-err timbre/default-err
|
||||
:std-out timbre/default-out
|
||||
stream)]
|
||||
{:enabled? true
|
||||
:async? false
|
||||
:min-level nil
|
||||
:rate-limit nil
|
||||
:output-fn :inherit
|
||||
:fn
|
||||
(fn [data]
|
||||
(let [{:keys [output_]} data
|
||||
stream
|
||||
(case stream
|
||||
:auto (if (:error-level? data) @sci/err @sci/out)
|
||||
:*out* @sci/out
|
||||
:*err* @sci/err
|
||||
stream)]
|
||||
(binding [*out* stream]
|
||||
(atomic-println (force output_)))))}))
|
||||
|
||||
(def default-config (assoc-in timbre/*config* [:appenders :println]
|
||||
(println-appender {:stream :auto})))
|
||||
|
||||
(def config (sci/new-dynamic-var '*config* default-config
|
||||
{:ns tns}))
|
||||
(def config (sci/new-dynamic-var '*config* timbre/*config* {:ns tns}))
|
||||
|
||||
(defn swap-config! [f & args]
|
||||
(apply sci/alter-var-root config f args))
|
||||
|
|
@ -105,16 +67,17 @@
|
|||
(defn set-level! [level] (swap-config! (fn [m] (assoc m :min-level level))))
|
||||
|
||||
(def timbre-namespace
|
||||
(assoc (make-ns 'taoensso.timbre tns ['trace 'tracef 'debug 'debugf
|
||||
(assoc (make-ns 'taoensso.timbre tns [] #_['trace 'tracef 'debug 'debugf
|
||||
'info 'infof 'warn 'warnf
|
||||
'error 'errorf
|
||||
'-log! 'with-level
|
||||
'spit-appender])
|
||||
'println-appender 'spit-appender])
|
||||
'log! (sci/copy-var log! tns)
|
||||
'*config* config
|
||||
'swap-config! (sci/copy-var swap-config! tns)
|
||||
'set-level! (sci/copy-var set-level! tns)
|
||||
'println-appender (sci/copy-var println-appender tns)))
|
||||
#_#_'*config* config
|
||||
#_#_'swap-config! (sci/copy-var swap-config! tns)
|
||||
#_#_'set-level! (sci/copy-var set-level! tns)))
|
||||
|
||||
(prn timbre-namespace)
|
||||
|
||||
;;;; clojure.tools.logging
|
||||
|
||||
|
|
|
|||
|
|
@ -355,8 +355,9 @@ Use bb run --help to show this help output.
|
|||
'babashka.deps deps-namespace
|
||||
'babashka.tasks tasks-namespace
|
||||
'taoensso.timbre timbre-namespace
|
||||
'clojure.tools.logging tools-logging-namespace
|
||||
'clojure.tools.logging.impl tools-logging-impl-namespace}
|
||||
;; 'clojure.tools.logging tools-logging-namespace
|
||||
;; 'clojure.tools.logging.impl tools-logging-impl-namespace
|
||||
}
|
||||
features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace))
|
||||
features/yaml? (assoc 'clj-yaml.core @(resolve 'babashka.impl.yaml/yaml-namespace)
|
||||
'flatland.ordered.map @(resolve 'babashka.impl.ordered/ordered-map-ns))
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
(timbre/swap-config! assoc-in [:appenders :spit] (timbre/spit-appender {:fname "/tmp/timbre.log"}))
|
||||
(log/infof "Hello %s" 123)))
|
||||
|
||||
(deftest logging-test
|
||||
#_(deftest logging-test
|
||||
(let [res (tu/bb nil (pr-str program))]
|
||||
(is (= 17 (count (re-seq #"\[dude:.\]" res))))
|
||||
(is (= 6 (count (re-seq #"DEBUG" res))))
|
||||
|
|
|
|||
Loading…
Reference in a new issue