Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'dev'

  • Loading branch information...
commit cf0f41dd7d9c784fab45db150a004b2104799640 2 parents 0513eb8 + fdacde0
@ptaoussanis authored
Showing with 15 additions and 16 deletions.
  1. +4 −4 README.md
  2. +1 −1  project.clj
  3. +10 −11 src/taoensso/timbre.clj
View
8 README.md
@@ -1,7 +1,7 @@
Current [semantic](http://semver.org/) version:
```clojure
-[com.taoensso/timbre "1.5.2"]
+[com.taoensso/timbre "1.5.3"]
```
# Timbre, a (sane) Clojure logging & profiling library
@@ -27,7 +27,7 @@ Timbre is an attempt to make **simple logging simple** and more **complex loggin
Depend on Timbre in your `project.clj`:
```clojure
-[com.taoensso/timbre "1.5.2"]
+[com.taoensso/timbre "1.5.3"]
```
and `use` the library:
@@ -59,7 +59,7 @@ There's little overhead for checking logging levels:
(time (trace (Thread/sleep 5000)))
%> "Elapsed time: 0.054 msecs"
-(time (when true))
+(time (when false))
%> "Elapsed time: 0.051 msecs"
```
@@ -122,7 +122,7 @@ Filter logging output by namespaces:
To enable the standard [Postal](https://github.com/drewr/postal)-based email appender, add the Postal dependency to your `project.clj`:
```clojure
-[com.draines/postal "1.9.1"]
+[com.draines/postal "1.9.2"]
```
And add the appender to your `ns` declaration:
View
2  project.clj
@@ -1,4 +1,4 @@
-(defproject com.taoensso/timbre "1.5.2"
+(defproject com.taoensso/timbre "1.5.3"
:description "Clojure logging & profiling library"
:url "https://github.com/ptaoussanis/timbre"
:license {:name "Eclipse Public License"}
View
21 src/taoensso/timbre.clj
@@ -106,14 +106,14 @@
:append true)
(catch java.io.IOException _))))}}}))
-(defn set-config! [[k & ks] val] (swap! config assoc-in (cons k ks) val))
+(defn set-config! [ks val] (swap! config assoc-in ks val))
(defn merge-config! [& maps] (apply swap! config utils/deep-merge maps))
-(defn set-level! [level] (set-config! [:current-level] level))
+(defn set-level! [level] (set-config! [:current-level] level))
;;;; Define and sort logging levels
(def ^:private ordered-levels [:trace :debug :info :warn :error :fatal :report])
-(def ^:private scored-levels (assoc (zipmap ordered-levels (range)) nil 0))
+(def ^:private scored-levels (assoc (zipmap ordered-levels (next (range))) nil 0))
(defn error-level? [level] (boolean (#{:error :fatal} level)))
@@ -147,9 +147,8 @@
(let [now (System/currentTimeMillis)
hash (str ns "/" message)
allow? (fn [last-msecs]
- (if last-msecs
- (> (- now last-msecs) max-message-per-msecs)
- true))]
+ (or (not last-msecs)
+ (> (- now last-msecs) max-message-per-msecs)))]
(when (allow? (@flood-timers hash))
(apfn apfn-args)
@@ -187,12 +186,12 @@
(def get-hostname
(utils/memoize-ttl
60000 (fn [] (try (.. java.net.InetAddress getLocalHost getHostName)
- (catch java.net.UnknownHostException e
+ (catch java.net.UnknownHostException _
"UnknownHost")))))
(defn- wrap-appender-juxt
"Wraps compile-time appender juxt with additional runtime capabilities
- (incl. middleware) controller by compile-time config. Like `wrap-appender-fn`
+ (incl. middleware) controlled by compile-time config. Like `wrap-appender-fn`
but operates on the entire juxt at once."
[juxtfn]
(->> ; Wrapping applies capabilities bottom-to-top
@@ -294,11 +293,11 @@
;;;; Define logging macros
-(defmacro logging-enabled?
+(defn logging-enabled?
"Returns true when current logging level is sufficient and current namespace
is unfiltered."
[level]
- `(and (sufficient-level? ~level) (@ns-filter-cache ~*ns*)))
+ (and (sufficient-level? level) (@ns-filter-cache *ns*)))
(defmacro log*
"Prepares given arguments for, and then dispatches to all relevant
@@ -314,7 +313,7 @@
{:level ~level
:error? (error-level? ~level)
:instant (Date.)
- :ns (str ~*ns*)
+ :ns ~(str *ns*)
:message (if has-throwable?# (or (first xs#) x1#) x1#)
:more (if has-throwable?#
(conj (vec (rest xs#))
Please sign in to comment.
Something went wrong with that request. Please try again.