对于 Java 开发,我使用 Slf4j 和 Logback。
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.debug("Hello world.");
如何在 Clojure 程序中使用这两个库?大多数 Clojure 编程都没有 .class 概念(当然可以通过 AOT)。
你用什么来登录 Clojure?
Clojure 在tools.logging中附带了一个日志核心库。添加[org.clojure/tools.logging "0.2.3"]
到您的 leiningenproject.clj
并$lein deps
像往常一样运行。
进入use
图书馆后,您就可以开始注销了
(use 'clojure.tools.logging)
(warn "something bad happened")
现在您还可以访问 logger 对象并设置必填字段,请参阅以下文章(为较旧的 contrib-lib 编写,但适用相同的想法):
看看这个https://github.com/ptaoussanis/timbre。它看起来非常简单而且做得很好。
工具.记录。有关详细信息,请参阅tools.logging 与 clojure.contrib.logging
我的一个使用 log4j 的项目的一些摘录:
日志.clj:
(ns
#^{:author "Arthur Ulfeldt",
:doc "Polynomial threshold encryption"}
com.cryptovide.log
(:gen-class)
(:use
clojure.contrib.logging))
...
(def logger (org.apache.log4j.Logger/getLogger "A1"))
(def log-levels (vec ( org.apache.log4j.Level/getAllPossiblePriorities)))
...
(defn start-logging []
(org.apache.log4j.BasicConfigurator/configure))
main.clj:
(start-logging)
(. logger setLevel (log-levels verbose-level))