mirror of https://github.com/status-im/timbre.git
Allow `pspy` to capture time for exception-throwing bodies (thanks Jacek Lach)
This commit is contained in:
parent
807cb40e0f
commit
95109b7451
|
@ -1,7 +1,7 @@
|
||||||
**[API docs](http://ptaoussanis.github.io/timbre/)** | **[CHANGELOG](https://github.com/ptaoussanis/timbre/blob/master/CHANGELOG.md)** | [contact & contributing](#contact--contributing) | [other Clojure libs](https://www.taoensso.com/clojure-libraries) | [Twitter](https://twitter.com/#!/ptaoussanis) | current [semantic](http://semver.org/) version:
|
**[API docs](http://ptaoussanis.github.io/timbre/)** | **[CHANGELOG](https://github.com/ptaoussanis/timbre/blob/master/CHANGELOG.md)** | [contact & contributing](#contact--contributing) | [other Clojure libs](https://www.taoensso.com/clojure-libraries) | [Twitter](https://twitter.com/#!/ptaoussanis) | current [semantic](http://semver.org/) version:
|
||||||
|
|
||||||
```clojure
|
```clojure
|
||||||
[com.taoensso/timbre "2.3.0"] ; See CHANGELOG for breaking changes since 1.x
|
[com.taoensso/timbre "2.3.1"] ; See CHANGELOG for breaking changes since 1.x
|
||||||
```
|
```
|
||||||
|
|
||||||
# Timbre, a (sane) Clojure logging & profiling library
|
# Timbre, a (sane) Clojure logging & profiling library
|
||||||
|
@ -26,7 +26,7 @@ Logging with Java can be maddeningly, unnecessarily hard. Particularly if all yo
|
||||||
Add the necessary dependency to your [Leiningen](http://leiningen.org/) `project.clj` and `require` the library in your ns:
|
Add the necessary dependency to your [Leiningen](http://leiningen.org/) `project.clj` and `require` the library in your ns:
|
||||||
|
|
||||||
```clojure
|
```clojure
|
||||||
[com.taoensso/timbre "2.3.0"] ; project.clj
|
[com.taoensso/timbre "2.3.1"] ; project.clj
|
||||||
(ns my-app (:require [taoensso.timbre :as timbre
|
(ns my-app (:require [taoensso.timbre :as timbre
|
||||||
:refer (trace debug info warn error fatal spy with-log-level)])) ; ns
|
:refer (trace debug info warn error fatal spy with-log-level)])) ; ns
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
(defproject com.taoensso/timbre "2.3.0"
|
(defproject com.taoensso/timbre "2.3.1"
|
||||||
:description "Clojure logging & profiling library"
|
:description "Clojure logging & profiling library"
|
||||||
:url "https://github.com/ptaoussanis/timbre"
|
:url "https://github.com/ptaoussanis/timbre"
|
||||||
:license {:name "Eclipse Public License"
|
:license {:name "Eclipse Public License"
|
||||||
|
|
|
@ -52,11 +52,12 @@
|
||||||
`(if-not *pdata*
|
`(if-not *pdata*
|
||||||
(do ~@body)
|
(do ~@body)
|
||||||
(let [name# ~name
|
(let [name# ~name
|
||||||
start-time# (System/nanoTime)
|
start-time# (System/nanoTime)]
|
||||||
result# (do ~@body)
|
(try
|
||||||
elapsed# (- (System/nanoTime) start-time#)]
|
~@body
|
||||||
(swap! *pdata* #(assoc % name# (conj (% name# []) elapsed#)))
|
(finally
|
||||||
result#))))
|
(let [elapsed# (- (System/nanoTime) start-time#)]
|
||||||
|
(swap! *pdata* #(assoc % name# (conj (% name# []) elapsed#))))))))))
|
||||||
|
|
||||||
(defmacro p [name & body] `(pspy ~name ~@body)) ; Alias
|
(defmacro p [name & body] `(pspy ~name ~@body)) ; Alias
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue