Search code examples
loggingclojurejvmslf4j

Logging in Clojure


For Java development, I use Slf4j and Logback.

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

How to use these two libs in Clojure programs? Majority of Clojure programming doesn't has .class concept (possible of course via AOT).

What do you use for logging in Clojure?


Solution

  • 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/