mirror of
https://github.com/taoensso/telemere.git
synced 2026-01-01 23:38:25 +00:00
[new] Add :incl-kvs? opt to edn and JSON formatters
This commit is contained in:
parent
9a514d1b43
commit
1934ee7623
1 changed files with 22 additions and 14 deletions
|
|
@ -550,22 +550,26 @@
|
||||||
- Takes a Telemere signal.
|
- Takes a Telemere signal.
|
||||||
- Returns edn string of the (minified) signal."
|
- Returns edn string of the (minified) signal."
|
||||||
([] (format-signal->edn-fn nil))
|
([] (format-signal->edn-fn nil))
|
||||||
([{:keys [pr-edn-fn prep-fn end-with-newline?]
|
([{:keys
|
||||||
|
[incl-kvs? end-with-newline?,
|
||||||
|
pr-edn-fn prep-fn]
|
||||||
|
|
||||||
:or
|
:or
|
||||||
{pr-edn-fn pr-edn
|
{end-with-newline? true,
|
||||||
prep-fn (comp error-in-signal->maps minify-signal)
|
pr-edn-fn pr-edn
|
||||||
end-with-newline? true}}]
|
prep-fn (comp error-in-signal->maps minify-signal)}}]
|
||||||
|
|
||||||
(let [nl newline]
|
(let [nl newline]
|
||||||
(fn format-signal->edn [signal]
|
(fn format-signal->edn [signal]
|
||||||
(let [signal* (if prep-fn (prep-fn signal) signal)
|
(let [signal (if (or incl-kvs? (not (map? signal))) signal (dissoc signal :kvs))
|
||||||
output (pr-edn-fn signal*)]
|
signal (if prep-fn (prep-fn signal) signal)
|
||||||
|
output (pr-edn-fn signal)]
|
||||||
|
|
||||||
(if end-with-newline?
|
(if end-with-newline?
|
||||||
(str output nl)
|
(str output nl)
|
||||||
(do output)))))))
|
(do output)))))))
|
||||||
|
|
||||||
(comment ((format-signal->edn-fn) {:level :info, :msg "msg"}))
|
(comment ((format-signal->edn-fn) {:level :info, :msg "msg", :kvs {:k1 :v1}}))
|
||||||
|
|
||||||
(defn format-signal->json-fn
|
(defn format-signal->json-fn
|
||||||
"Experimental, subject to change.
|
"Experimental, subject to change.
|
||||||
|
|
@ -580,11 +584,14 @@
|
||||||
(format-signal->json-fn {:pr-json-fn jsonista/write-value-as-string ...})"
|
(format-signal->json-fn {:pr-json-fn jsonista/write-value-as-string ...})"
|
||||||
|
|
||||||
([] (format-signal->json-fn nil))
|
([] (format-signal->json-fn nil))
|
||||||
([{:keys [pr-json-fn prep-fn end-with-newline?]
|
([{:keys
|
||||||
|
[incl-kvs? end-with-newline?,
|
||||||
|
pr-json-fn prep-fn]
|
||||||
|
|
||||||
:or
|
:or
|
||||||
{#?@(:cljs [pr-json-fn pr-json])
|
{end-with-newline? true,
|
||||||
prep-fn (comp error-in-signal->maps minify-signal)
|
#?@(:cljs [pr-json-fn pr-json])
|
||||||
end-with-newline? true}}]
|
prep-fn (comp error-in-signal->maps minify-signal)}}]
|
||||||
|
|
||||||
(when-not pr-json-fn
|
(when-not pr-json-fn
|
||||||
(throw
|
(throw
|
||||||
|
|
@ -592,14 +599,15 @@
|
||||||
|
|
||||||
(let [nl newline]
|
(let [nl newline]
|
||||||
(fn format-signal->json [signal]
|
(fn format-signal->json [signal]
|
||||||
(let [signal* (if prep-fn (prep-fn signal) signal)
|
(let [signal (if (or incl-kvs? (not (map? signal))) signal (dissoc signal :kvs))
|
||||||
output (pr-json-fn signal*)]
|
signal (if prep-fn (prep-fn signal) signal)
|
||||||
|
output (pr-json-fn signal)]
|
||||||
|
|
||||||
(if end-with-newline?
|
(if end-with-newline?
|
||||||
(str output nl)
|
(str output nl)
|
||||||
(do output)))))))
|
(do output)))))))
|
||||||
|
|
||||||
(comment ((format-signal->json-fn) {:level :info, :msg "msg"}))
|
(comment ((format-signal->json-fn) {:level :info, :msg "msg", :kvs {:k1 :v1}}))
|
||||||
|
|
||||||
(defn format-signal->str-fn
|
(defn format-signal->str-fn
|
||||||
"Experimental, subject to change.
|
"Experimental, subject to change.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue