A logging library for the Duct framework.
Add the following dependency to your deps.edn file:
org.duct-framework/logger {:mvn/version "0.4.0"}
Or to your Leiningen project file:
[org.duct-framework/logger "0.4.0"]
To use this library, you'll need an implementation of the
duct.logger/Logger
protocol. You can implement this yourself, or
use a pre-written one, such as [logger.simple][].
Once you have a logger, you can use the duct.logger/log
macro. Logging in Duct is data-driven, and has three parts:
For example, instead of writing something like this:
(log/info "Starting server on port" port)
We instead write something like:
(log/log logger :info ::starting-server {:port port})
The use of keywords and data structures produces logs that can be queried more efficiently and consistantly than logs written in English.
This library also provides convenience macros for the following logging
levels: report
, fatal
, error
, warn
info
and debug
. This
allows logs to be written:
(log/info logger ::starting-server {:port port})
If the logger is nil
, no logs are outputted. If the logger is a
collection of loggers, then each element of the collection will be sent
the log.
Copyright © 2024 James Reeves
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close