如何通过 clojure.tools.logging 记录哪个是像 pprint 那样的漂亮打印?

ipa*_*ian 4 logging clojure pprint

我在用org.clojure/tools.logging。我想要一个可以很好地打印日志的函数,但我找不到它。例如我要打印的内容是

{:status 401,
 :headers {"Content-Type" "application/octet-stream"},
 :body {:error "You don't login."}}
Run Code Online (Sandbox Code Playgroud)

但我调用函数名称是info,我明白了

{:status 401, :headers {Content-Type application/octet-stream}, :body {:error You don't login.}}
Run Code Online (Sandbox Code Playgroud)

Joh*_*man 5

像这样的事情怎么样:

(require '[clojure.pprint :as pprint])

(defn pformat [& args]
        (with-out-str
          (apply pprint/pprint args)))
Run Code Online (Sandbox Code Playgroud)

然后:

(require '[clojure.tools.logging :as log])

(log/info (pformat {:status 401,
                    :headers {"Content-Type" "application/octet-stream"},
                    :body {:error "You don't login."}}))
Run Code Online (Sandbox Code Playgroud)

输出如下:

Apr 29, 2015 9:43:40 AM user invoke
INFO: {:headers {"Content-Type" "application/octet-stream"},
 :status 401,
 :body {:error "You don't login."}}
Run Code Online (Sandbox Code Playgroud)