Affects Version/s: None
Fix Version/s: None
The expansion of the log macros can double-evaluate the first argument.
For example, the following call:
(log/info (expensive-call foo) bar)
Expands to this:
(get-logger logger-factory #<Namespace scratch.core>)]
(if (enabled? logger_278auto_ :info)
(if (instance? java.lang.Throwable (expensive-call foo))
(print-str (expensive-call foo) bar)))))
Note the calls to "expensive-call" both in the instance check and in the log* call.