This project uses Break Versioning as of Aug 16, 2014.
[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