使用clojure.tools.logging强制JUL

时间:2013-04-22 16:45:14

标签: clojure java.util.logging

我的Clojure应用需要登录Java.Util.Logging(JUL),因为目前Elastic Beanstalk不支持自定义日志轮换。我正在使用clojure.tools.logging来编写日志文件,但是库会自动选择log4j作为日志记录引擎。

如何强制clojure.tools.logging使用JUL?

我在网上发现了一个使用alter-var-root将所选工厂永久绑定到 logger-factory 的解决方案:

(alter-var-root (var log/*logger-factory*) (constantly (impl/jul-factory)))

...但它是一个较老的线程,并不知道是否有更好的方法。

1 个答案:

答案 0 :(得分:2)

我每天都使用这个:

(alter-var-root                   
 #'clojure.tools.logging/*logger-factory*   
 (constantly (clojure.tools.logging.slf4j/load-factory))

为impl / jul-factory切换slf4j应该是可靠的,至少大部分都是理智的。