Dialog is a simple and opinionated logging library that implements an
SLF4J-compatible backend in Clojure. This means it is
compatible with a wide variety of logging APIs, including
clojure.tools.logging and most Java libraries.
Inspired by the fallout from the log4shell vulnerability, and the question "what if we wrote just enough code to do the kinds of logging we want?". This is an attempt to produce a minimally-configurable logging backend that is nonetheless still extensible in a few ways - in particular, it aims to be easy to integrate with ken as an extension to observability tooling.
Releases are published on Clojars. You can use the latest Maven coordinate, or
point at the main branch using
By default, this will pull in the SLF4J API package as well as redirecting
log4j classes to SLF4J. For more
information, see the SLF4J legacy bridging
Within your code, you can use the standard
clojure.tools.logging approach to
logging and things should Just Work. If for some reason you don't want to pull
dialog.logger namespace contains a set of
compatible macros such as
dialog.logger namespace also contains a number of utility functions which
can be used to inspect and dynamically adjust the logging configuration at
At initialization time, dialog will try to read configuration from a resource
dialog.edn. This is an aero file which
should contain a map telling dialog how to behave. See the
configuration docs for more information, or check out
the sample config in this repo for a comprehensive example.
This library uses Clojure's CLI and
deps.edn to manage and build the project.
See the development docs for detailed instructions.
Copyright © 2023 Amperity, Inc.
Distributed under the MIT License.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries× close