Подтвердить что ты не робот

Вход в систему Clojure

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

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

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

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

4b9b3361

Ответ 1

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/

Ответ 4

некоторые выдержки из одного из моих проектов, который использует 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))