Skip to content

Commit 577145e

Browse files
committed
log via clojure.tools.logging if that is available
1 parent d942c06 commit 577145e

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

project.clj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
[lein-ring "0.9.7"]
3131
[funcool/codeina "0.3.0"]]
3232
:dependencies [[org.clojure/clojure "1.7.0"]
33+
[org.clojure/tools.logging "0.3.1"]
3334
[peridot "0.4.1"]
3435
[javax.servlet/servlet-api "2.5"]
3536
[midje "1.8.2"]

src/compojure/api/logging.clj

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
(ns compojure.api.logging)
2+
3+
(defn resolve-logger []
4+
(if (find-ns 'clojure.tools.logging)
5+
(do
6+
(require 'clojure.tools.logging)
7+
(fn [level x]
8+
(clojure.tools.logging/spy level x)))
9+
(fn [level x & more]
10+
(let [log (fn [level more]
11+
(println (.toUpperCase (name level)) (apply str more)))]
12+
(if (instance? Throwable x)
13+
(do
14+
(log level (cons (.getMessage x) more))
15+
(.printStackTrace x))
16+
(log level (cons x more)))))))
17+
18+
(def log (resolve-logger))
19+
20+
(comment
21+
(log :info (RuntimeException. "kosh")))

0 commit comments

Comments
 (0)