Вход в Clojure - PullRequest
       25

Вход в Clojure

23 голосов
/ 07 марта 2011

Для разработки на Java я использую Slf4j и Logback.

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

Как использовать эти две библиотеки в программах Clojure?Большинство программ Clojure не имеют концепции .class (возможно, конечно, через AOT).

Что вы используете для входа в Clojure?

Ответы [ 4 ]

33 голосов
/ 07 марта 2011

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/

12 голосов
/ 09 апреля 2013

Посмотрите и на это https://github.com/ptaoussanis/timbre.Это выглядит очень просто и красиво сделано.

9 голосов
/ 12 октября 2011

tools.logging. Подробнее см. tools.logging против clojure.contrib.logging

5 голосов
/ 07 марта 2011

некоторые выдержки из одного из моих проектов, который использует log4j :

log.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))
...