24

Java 開発には、Slf4j と Logback を使用します。

Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.debug("Hello world.");

これら 2 つのライブラリを Clojure プログラムで使用するにはどうすればよいですか? Clojure プログラミングの大部分には .class の概念がありません (もちろん AOT 経由で可能です)。

Clojure へのログインには何を使用していますか?

4

4 に答える 4

34

Clojure には、 tools.loggingにロギング コア ライブラリが付属しています。[org.clojure/tools.logging "0.2.3"]leiningenに追加して、通常どおりproject.clj実行します。$lein deps

useライブラリにアクセスしたら、ログオフを開始できます

(use 'clojure.tools.logging)
(warn "something bad happened") 

これで、ロガー オブジェクトにアクセスして必要なフィールドを設定することもできます。これについては、次の記事を参照してください (古い contrib-lib 用に書かれていますが、同じ考え方が適用されます)。

http://www.paullegato.com/blog/setting-clojure-log-level/

于 2011-03-07T13:11:34.637 に答える
14

これも見てください https://github.com/ptaoussanis/timbre。とてもシンプルできれいに仕上がっているように見えます。

于 2013-04-09T13:58:18.130 に答える
9

tools.logging. 詳細については、 tools.logging とclojure.contrib.loggingを参照してください。

于 2011-10-12T15:18:37.920 に答える
5

log4j を使用する私のプロジェクトの 1つからの抜粋:

ログ.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))
于 2011-03-07T19:42:54.257 に答える