This project uses Break Versioning as of Aug 16, 2014.
[com.taoensso/timbre "6.0.0"]
This is a major feature release. Changes may be BREAKING for some users, see relevant commits referenced below for details.
Please test before use in production and report any problems, thanks!
See here for recommended steps when updating any Clojure/Script dependencies.
v5.2.1
:report
-> :trace
:msg_
is now undocumentedset-level!
-> set-min-level!
, with-level
-> with-min-level
pr-str
on non-string argumentsv5.2.1
set-min-level!
, set-ns-min-level!
, etc.:msg-fn
option to default-output-fn
:output-error-fn
option to default-output-fn
shutdown-appenders!
util and hookcallsite-id
in log!
macro deterministic for Clojure (@DerGuteMoritz):output-opts
support to top-level and appender config[com.taoensso/timbre "5.2.1"]
This is a minor maintenance release.
See here for recommended steps when updating any Clojure/Script dependencies.
v5.1.2
*config*
docstring typo (@vise890)v5.1.2
log!
fn now supports runtime arguments as intended. Relevant for tool/library authors.[com.taoensso/timbre "5.1.2"]
This is a minor hotfix release.
See here for recommended steps when updating any Clojure/Script dependencies.
v5.1.1
spit-appender
: updated fix for GraalVM verifier (@ericdallo)[com.taoensso/timbre "5.1.1"]
This is a minor hotfix release.
See here for recommended steps when updating any Clojure/Script dependencies.
v5.1.0
:timestamp_
(@lnostdal)spit-appender
: fix for GraalVM verifier (@ericdallo)[com.taoensso/timbre "5.1.0"]
This is a minor feature release.
See here for recommended steps when updating any Clojure/Script dependencies.
v5.0.0
v5.0.0
with-context+
macro (@DeLaGuardo)v5.0.0
level>=
a public implementation.[com.taoensso/timbre "5.0.1"]
[com.taoensso/timbre "5.0.0"]
This is a major feature release. It should be non-breaking for most users, but please test!
See here for recommended steps when updating any Clojure/Script dependencies.
Same as v5.0.0-RC1
.
v4.10.0
1.5
->1.7
yy-MM-dd HH:mm:ss
to ISO8601
:ns-whitelist
and :ns-blacklist
options are being replaced with a single :ns-filter
option. See docstring for details.:level
config option is being renamed :min-level
.cljx
to .cljc
(@anthonygalea)v4.10.0
:trace
, :warn
, etc. - min levels may now also be of form [[<ns-pattern> <min-level>] ...]
(both in global and per-appender config). See docstring for details (@mikekap, @ptaoussanis).:spying?
key^:meta
feature (was previously experimental)
v4.10.0
spit-appender
: add locking for thread safety:error-level?
instead of :error?
(@rinx)get-hostname
more robust to exceptionsshort_message
is not empty + add extra fields (@vise890)[com.taoensso/timbre "5.0.0-RC1"]
This is a major feature release. It should be non-breaking for most users, but please test!
See here for recommended steps when updating any Clojure/Script dependencies.
v4.10.0
1.5
->1.7
yy-MM-dd HH:mm:ss
to ISO8601
:ns-whitelist
and :ns-blacklist
options are being replaced with a single :ns-filter
option. See docstring for details.:level
config option is being renamed :min-level
.cljx
to .cljc
(@anthonygalea)v4.10.0
:trace
, :warn
, etc. - min levels may now also be of form [[<ns-pattern> <min-level>] ...]
(both in global and per-appender config). See docstring for details (@mikekap, @ptaoussanis).:spying?
key^:meta
feature (was previously experimental)
v4.10.0
spit-appender
: add locking for thread safety:error-level?
instead of :error?
(@rinx)get-hostname
more robust to exceptionsshort_message
is not empty + add extra fields (@vise890)[com.taoensso/timbre "4.10.0"]
This is a feature and maintenance release that should be non-breaking
timbre.tools.logging/use-timbre
[com.taoensso/timbre "4.8.0"]
This is a major feature & maintenance release that should be non-breaking in most cases (see 1 exception below)
BREAKING: Middleware no longer receives :msg_ or :hash_ (was rarely useful, caused confusion)
DEPRECATED: Per-appender :middleware-fn (was rarely useful, caused confusion)
[#198] New: Add 3rd-party kafka appender (@gfZeng)
[#202] New: Spit appender: add :append?
option (@tkocmathla)
[#195] New: Logstash appender: add :flush?
option (@tvanhens)
[#192] Impl: Rolling appender: create dirs when they don't exist (@dsapala)
[#207] Impl: Add docstring for with-context
Impl: Default output fn now falls back to ?file
when ?ns-str
unavailable
Impl: Improve error message for logging calls with missing format pattern
[#207] Fix: Middleware couldn't influence automatic msg_ generation
[#199] Fix: Unintended elision warning output to cljs
[#206] Fix: Resolve slf4j-timbre
issue with may-log?
and namespace filtering
[com.taoensso/timbre "4.7.4"]
This is a minor hotfix release
[com.taoensso/timbre "4.7.0"]
[com.taoensso/timbre "4.6.0"]
Non-breaking, minor feature release
[com.taoensso/timbre "4.5.1"]
This is a minor hotfix release
[com.taoensso/timbre "4.5.0"]
This is a major, non-breaking release focused on refactoring and performance (esp. profiling performance)
timbre.profiling/pspy
and timbre.profiling/profile
must now always be compile-time consts (e.g. keywords).:?err_
, :vargs_
(delays).:?err
, :vargs
, :output_
.[com.taoensso/timbre "4.4.0"]
This is a major, non-breaking release, enjoy :-)
js/console
[#165]merge-config
nil behaviour [#163][com.taoensso/timbre "4.3.1"]
This is a major, non-breaking feature release
:?hash-arg
data key for use by custom data hash fnslog!
macro for use in tooling (slf4j-timbre, etc.)force
instead of @
/deref
[com.taoensso/timbre "4.3.0"]
This is a non-breaking hotfix release
[com.taoensso/timbre "4.2.1"]
This is a non-breaking feature release
yy-MMM-dd
-> yy-MM-dd pattern
(easier to sort) [#135]swap-config!
now supports &args [#137 @rsslldnphy][com.taoensso/timbre "4.2.0"]
This is a non-breaking hotfix release
[com.taoensso/timbre "4.1.5"]
This is a non-breaking hotfix release
[com.taoensso/timbre "4.1.4"]
This is a non-breaking hotfix release
logp
macro from Timbre v3.x to ease back-compatibility [#67][com.taoensso/timbre "4.1.2"]
This is a non-breaking hotfix release
[com.taoensso/timbre "4.1.1"]
This is a non-breaking feature release
*context*
val is now located under a :context
key in appender's data map [#116 @mikesperber]profiling/fnp
macro[com.taoensso/timbre "4.1.0"]
This is a minor, non-breaking bug fix release
[com.taoensso/timbre "4.0.2"]
This is a minor, non-breaking feature release
get-env
, log-env
macros [#103 @RickMoynihan][com.taoensso/timbre "4.0.1"]
This is a MAJOR update. Your custom appenders WILL BREAK. Your configuration MIGHT BREAK. Your call sites should be fine. I've updated all bundled appenders, but haven't tested any 3rd-party appenders.
log1-fn
util [#99][com.taoensso/timbre "4.0.0"]
timbre/config
, timbre/level-atom
, default-fmt-output-fn
set-config!
has changed: [ks val]
-> [config]
:standard-out
-> :println
:timestamp-pattern
, :timestamp-locale
-> :timestamp-opts {:pattern _ :locale _ :timezone _}
:whitelist
-> :ns-whitelist
, :blacklist
-> :ns-blacklist
[ncalls ms]
-> [[ncalls ms] <...>]
:ns
->:?ns-str
, :file
->:?file
, :line
->:?line
:throwable
->:?err_
, :message
->:msg_
, :timestamp
->:timestamp_
, :hostname
->:hostname_
, :args
->:vargs_
:output
, :ap-config
:output-fn (fn [data]) -> string
stacktrace
util fn signature changed: [throwable & [sep fonts]
-> [err & [opts]]
3rd-party
ns.Apologies for the hassle in migrating. The changes made here all bring serious benefits (performance, simplicity, future extensibility, cross-platform support) and I'm confident that v4's the last time I'll need to touch the core design. Future work will be focused on polish, stability, and better+more bundled appenders.
/ Peter Taoussanis
This should be a non-breaking release that only bumps some old dependencies.
defnp
no longer generates an Eastwood warning (@ducky427).defnp
/p
head retention issue (@kyptin).profiling/p*
was defined incorrectly (@kyptin).profiling/p*
macro.p
, p*
in refer-timbre
imports.taoensso.timbre.profiling/pspy*
fn.encore
dependency.Major update, non-breaking though users with custom appenders are encouraged to view the Changes section below. This version polishes up the codebase and general design. Tightened up a few aspects of how appenders and appender middleware work. Added a serializing Carmine appender (I use something similar in prod most of the time). Also finally added facilities for ad hoc (non-atom) logging configuration.
Overall quite happy with the state of Timbre as of this release. No major anticipated improvements/changes from here (modulo bugs).
[ncalls window-msecs]
, e.g. [1 2000]
for 1 write / 2000 msecs.sometimes
macro that executes body with given probability. Useful for sampled logging (e.g. email a report for 0.01% of user logins in production).log
and logf
macros now take an optional logging config map as their first argument: (log :info "hello") => use @timbre/config
, (log <config> :info "hello") => use <config>
.:fmt-output-opts
that'll get passed to fmt-output-fn
for any special formatting requirements they may have (e.g. the Postal email appender provides an arg to suppress ANSI colors in stacktrace output).io.aviso/pretty
rather than clj-stacktrace. Feedback on this (esp. coloring) welcome!red
, green
, blue
-> use color-str
instead.prefix-fn
has been replaced by the more flexible fmt-output-fn
. Change is backwards compatible.:prefix
option dropped - was unnecessary. If an appender wants custom output formatting, it can do so w/o using an in-config formatter.refer-timbre
(add profiling, logf variations, etc.).level-atom
rather than config
. Old in-config levels will be respected (i.e. change is backwards compatible).:rate-limit [ncalls window-msecs]
rather than :limit-per-msecs ncalls
. Change is backwards compatible.default-output
appender arg.(logf <level> "hello %s")
was throwing due to lack of formatting args.getHostName
no longer runs on the main thread for better Android compatibility (AdamClements).defnp
macro.TIMBRE_LOG_LEVEL
). See timbre/compile-time-level
docstring for details.use-timbre
, str-println
bugs.:file
and :line
appender args.make-timestamp-fn
thread safety.refer-timbre
for conveniently require
ing standard timbre vars.log-errors
, log-and-rethrow-errors
now catch Throwable instead of Exception.with-log-level
for thread-local logging levels: (with-level :trace (trace "This will log!"))
. Esp. useful for developing & unit tests, etc.ex-data
output to stacktrace
fn.Refactor for integration with tools.logging.
BREAKING: Drop Clojure 1.3 support.
DEPRECATED: :max-messages-per-msecs
appender arg -> :limit-per-msecs
.
BREAKING: :more
appender arg has been dropped. :message
arg is now a string of all arguments as joined by logp
/logf
. Appenders that need unjoined logging arguments (i.e. raw arguments as given to logp
/logf
) should use the new :log-args
vector.
BREAKING: Stacktraces are no longer automatically generated at the log
-macro level. Stacktraces are now left as an appender implementation detail. A :throwable
appender argument has been added along with a stacktrace
fn.
Can you improve this documentation? These fine people already did:
Peter Taoussanis & Ian TrusloveEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close