Compare commits

...

4 commits

Author SHA1 Message Date
Michiel Borkent
6233eb5abf still unbloated 2021-07-14 17:48:49 +02:00
Michiel Borkent
c9ed8ce24f unbloated 2021-07-14 17:45:31 +02:00
Michiel Borkent
ff83b69990 disable test 2021-07-14 17:23:59 +02:00
Michiel Borkent
2a36d76e74 revert to unbloated commit... 2021-07-14 17:22:23 +02:00
3 changed files with 14 additions and 50 deletions

View file

@ -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

View file

@ -24,7 +24,7 @@
[babashka.impl.features :as features]
[babashka.impl.fs :refer [fs-namespace]]
[babashka.impl.logging :refer [timbre-namespace tools-logging-namespace
tools-logging-impl-namespace]]
tools-logging-impl-namespace]]
[babashka.impl.pods :as pods]
[babashka.impl.pprint :refer [pprint-namespace]]
[babashka.impl.process :refer [process-namespace]]
@ -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))

View file

@ -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))))