From 545697ad4fd5fae57b480c103a76527576a804cb Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Tue, 20 Aug 2013 23:09:30 +0700 Subject: [PATCH] Update README, CHANGELOG --- CHANGELOG.md | 5 +++++ README.md | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0ad523..26a2626 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## v2.5.0 → v2.6.0 + * Perf: make ns filtering a compile-time check. + * Perf: add support for a compile-time logging level environment variable (`TIMBRE_LOG_LEVEL`). See `timbre/compile-time-level` docstring for details. + + ## v2.4.1 → v2.5.0 * Added `:file` and `:line` appender args. * Fixed `make-timestamp-fn` thread safety. diff --git a/README.md b/README.md index 2cc2e5d..c285c64 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,8 @@ Logging with Java can be maddeningly, unnecessarily hard. Particularly if all yo ## What's in the box™? * Small, uncomplicated **all-Clojure** library. * **Super-simple map-based config**: no arcane XML or properties files! - * **Decent performance** (low overhead). + * **Low overhead** with dynamic logging level. + * **No overhead** with compile-time logging level. (v2.6+) * Flexible **fn-centric appender model** with **middleware**. * Sensible built-in appenders including simple **email appender**. * Tunable **rate limit** and **asynchronous** logging support. @@ -58,6 +59,16 @@ There's little overhead for checking logging levels: %> "Elapsed time: 0.051 msecs" ``` +And _no_ overhead when using a compile-time logging level (set `TIMBRE_LOG_LEVEL` environment variable): + +```clojure +(time (dotimes [_ 1000000000] (trace (Thread/sleep 5000)))) +%> "Elapsed time: 387.159 msecs" + +(time (dotimes [_ 1000000000] nil)) +%> "Elapsed time: 389.231 msecs" +``` + First-argument exceptions generate a stack trace: ```clojure