For Java development, I use Slf4j and Logback.
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.debug(\"Hello world.\");
How t
Clojure comes with a logging core library in tools.logging. Add [org.clojure/tools.logging "0.2.3"]
to your leiningen project.clj
and run $lein deps
as usual.
Once you use
the library you can start logging away
(use 'clojure.tools.logging)
(warn "something bad happened")
Now you can also access the logger object and set the required fields, refer to the following article for this (written for the older contrib-lib but the same ideas apply):
http://www.paullegato.com/blog/setting-clojure-log-level/
tools.logging. For details, refer to tools.logging vs clojure.contrib.logging
some excerpts from a one of my projects that uses 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))
Look at this as well https://github.com/ptaoussanis/timbre . It looks very simple and nicely done.