I don’t know if this is timbre, but when it is logging larger data structures (malli schema errors), it seems to substitute vectors with #. e.g. :
{:path #,
:in #,
:schema
[:enum #:decode{:json #object[clojure.core$keyword 0x52f41482 "clojure.core$keyword@52f41482"]} :pcs :mm :fl-oz :gallon :cl :quart :kg :dm ...],
:value :bowl}
is there a way to disable that?Hi there. Nothing intentional on Timbre’s end that’d do that afaik. But it’d be helpful for debugging if you could provide a specific logging call example.
Hm it does seem to work on another project using timbre, but this is what I am seeing:
(log/error (ex-info "A" {:a {:b {:c {:d {:e [1 2 3]}}}}}))
clojure.lang.ExceptionInfo: A
a: {:b {:c {#}}}
so some sort of max-levelAh apologies, seems to be c.t.logging being used
On the second look this does use timbre
Ok so this is Timbre version 6.7.1, it is using pretty-3.3.2, and :
(clj-commons.format.exceptions/format-exception (ex-info "A" {:a {:b {:c {:d {:e [1 2 3]}}}}}))
prints:
"clojure.core/eval core.clj: 3232
...
user/eval15850 REPL Input:
clojure.lang.ExceptionInfo: A
a: {:b {:c {#}}}
"
my other project that works correctly is using timbre 6.2.2 and that one is using io.aviso.exception which doesn’t have this behaviour
Ah I need to change clj-commons.format.exceptions/*print-level* , just a heads up to anyone migrating from 6.2.x to 6.7.x
Thanks
Came here looking to see if anyone had already worked out what caused this after we upgraded too, really appreciate the debugging and helpful description!
A depenency of started using a different library which has a limit on print depth
yep, I got it, was just saying thanks for all the work 🙂