在Eclipse中抑制clojure日志记录?

时间:2015-07-17 00:41:13

标签: java eclipse logging clojure

我正在使用Clojure中实现的第三方库,该库使用clojure.tools.logging记录消息。

我想在Eclipse中禁止这些消息并尝试使用以下suggestion无效。

任何(hacky)解决方案都非常感谢。

1 个答案:

答案 0 :(得分:1)

听起来你的clojure.tools.logging正在使用与你的应用程序其他部分不同的底层日志记录实现吗?

例如,如果您的应用程序使用的是java.util.logging,但您的类路径中有一个stray log4j库,那么clojure.tools.logging会检测到log4j,因此不会对您正在进行的日志配置更改做出反应。

检测基础日志记录实现的逻辑如下:

https://github.com/clojure/tools.logging/blob/master/src/main/clojure/clojure/tools/logging/impl.clj

具体做法是:

(defn find-factory
  "Returns the first non-nil value from slf4j-factory, cl-factory,
   log4j-factory, and jul-factory."
  []
  (or (slf4j-factory)
      (cl-factory)
      (log4j-factory)
      (jul-factory)
      (throw ; this should never happen in 1.5+
        (RuntimeException.
          "Valid logging implementation could not be found."))))

运行mvn dependency:treelein deps :tree以查看类路径上的日志记录依赖项会很有帮助。