Why?
Not actually much use to this in practice. In particular,
the current implementation didn't support influence over
:msg_ and :output_ vals through the modification of :vargs.
Support could be added, but the impl. would need to be
reasonably involved. The feature's utility just doesn't justify
the cost necessary to do it right.
--
Note: per-appender :ns-whitelist, :ns-blacklist are unchanged.
Motivating use case: let users apply custom ns-filtering or other
conditional logic at an appender level *without* needing to actually
modify the appender fn.
This is just a natural generalization of the recently added support
for appender-level ns filters, etc.
Specifically:
- Reverting some experimental new features (`profiled`), etc.
- Restoring old multi-threaded (dynamic) profiling support
The new thread-local performance improvements have instead been
moved to Tufte: https://github.com/ptaoussanis/tufte
Users have reported seeing `Wrong number of args (9) passed to: timbre/-log!`
errors via slf4j-timbre when upgrading from Timbre v4.4.0 -> v4.5.0.
slf4j-timbre already uses the correct public API (timbre/log!), so this looks
like an AOT issue: a compiled Timbre v4.4.0 `log!` macro expansion is calling
a `v4.5.0` `-log!` function and breaking.
Unfortunately, looks[1] like a user-level call to `lein clean` isn't enough to
resolve the issue. Might be that slf4j-timbre itself needs to be recompiled?
Whatever the underlying cause, this should be a reasonable workaround for now.
[1] : https://github.com/fzakaria/slf4j-timbre/issues/20#issuecomment-229254285
Choosing not to squash into previous commit since we're introducing
a bunch of JVM-specific code here. If we do later decide to do a
.cljx port, will be handy to have the previous code around as a
platform agnostic option.