Logs a message, either directly or via an agent. Also see the level-specific
convenience macros.
(defmacro log
"Logs a message, either directly or via an agent. Also see the level-specific
convenience macros."
([level message]
`(log ~level ~message nil))
([level message throwable]
`(log ~level ~message ~throwable ~(str *ns*)))
([level message throwable log-ns]
`(let [log# (impl-get-log ~log-ns)]
(if (impl-enabled? log# ~level)
(if (and @*allow-direct-logging*
(not (clojure.lang.LockingTransaction/isRunning)))
(impl-write! log# ~level ~message ~throwable)
(send-off *logging-agent*
(fn [_# l# v# m# t#] (impl-write! l# v# m# t#))
log# ~level ~message ~throwable))))))
Comments top
No comments for log. Log in to add a comment.