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-fnset-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]) -> stringstacktrace 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 requireing 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 builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |