2

当我运行以下简单程序时,打印“信息后”消息后需要一分钟才能完成。

$ lein run -m logger.core

(ns logger.core
  (:require [taoensso.timbre :as timbre]))

(defn -main []
  (println "before info")
  (timbre/info "hello world")
  (println "after info"))

如果我注释掉(timbre/info "hello world"),那浪费的时间就完全消失了。

是什么原因?我该如何避免这种情况?

提前致谢。

4

2 回答 2

6

您需要关闭代理。

(ns logger.core
  (:require [taoensso.timbre :as timbre]))

(defn -main []
  (println "before info")
  (timbre/info "hello world")
  (shutdown-agents)
  (println "after info"))
于 2014-04-04T12:26:53.853 回答
-1

因为 Leiningen 很可能也在编译 Timbre 库及其所有依赖项。

于 2014-04-04T09:27:14.110 回答