mirror of
https://github.com/status-im/timbre.git
synced 2025-02-27 18:40:30 +00:00
Allow explicit naming of spy
forms
This commit is contained in:
parent
edf2a13817
commit
c05b7ca392
@ -265,12 +265,13 @@
|
|||||||
(log* ~level {} ~@sigs)))
|
(log* ~level {} ~@sigs)))
|
||||||
|
|
||||||
(defmacro spy
|
(defmacro spy
|
||||||
"Evaluates expression and logs its form and result. Always returns the result.
|
"Evaluates named expression and logs its result. Always returns the result.
|
||||||
Defaults to :debug logging level."
|
Defaults to :debug logging level and unevaluated expression as name."
|
||||||
([expr] `(spy :debug ~expr))
|
([expr] `(spy :debug ~expr))
|
||||||
([level expr]
|
([level expr] `(spy ~level '~expr ~expr))
|
||||||
|
([level name expr]
|
||||||
`(try
|
`(try
|
||||||
(let [result# ~expr] (log ~level '~expr ~expr) result#)
|
(let [result# ~expr] (log ~level ~name ~expr) result#)
|
||||||
(catch Exception e#
|
(catch Exception e#
|
||||||
(log ~level '~expr (str "\n" (stacktrace/pst-str e#)))
|
(log ~level '~expr (str "\n" (stacktrace/pst-str e#)))
|
||||||
(throw e#)))))
|
(throw e#)))))
|
||||||
@ -306,5 +307,6 @@
|
|||||||
(time (dotimes [n 10000] (trace "This won't log"))) ; Overhead 5ms/10ms
|
(time (dotimes [n 10000] (trace "This won't log"))) ; Overhead 5ms/10ms
|
||||||
(time (dotimes [n 5] (info "foo" "bar")))
|
(time (dotimes [n 5] (info "foo" "bar")))
|
||||||
(spy (* 6 5 4 3 2 1))
|
(spy (* 6 5 4 3 2 1))
|
||||||
|
(spy :debug :factorial6 (* 6 5 4 3 2 1))
|
||||||
(info (Exception. "noes!") "bar")
|
(info (Exception. "noes!") "bar")
|
||||||
(spy (/ 4 0)))
|
(spy (/ 4 0)))
|
Loading…
x
Reference in New Issue
Block a user