Timbre
Pure Clojure/Script logging library
Install / Use
/learn @taoensso/TimbreREADME
<a href="https://www.taoensso.com/clojure" title="More stuff by @ptaoussanis at www.taoensso.com"><img src="https://www.taoensso.com/open-source.png" alt="Taoensso open source" width="340"/></a>
API | Wiki | Slack | Latest release: v6.8.0 (2025-08-21)
Timbre
Pure Clojure/Script logging library
Getting even the simplest Java logging working can be maddeningly complex, and it often gets worse at scale as your needs become more sophisticated.
Timbre offers an all Clojure/Script alternative that's fast, deeply flexible, easy to configure with pure Clojure data, and that just works out the box.
Supports optional interop with tools.logging and Java logging via SLF4Jv2.
Library status
While I will continue to support Timbre as always, I'd recommend new users see Telemere instead - which is essentially a modern rewrite of Timbre.
There's zero pressure for existing users of Timbre to migrate, though there are significant benefits - and migration is often quick and easy. See here for why I made the decision to release a new library.
- Peter Taoussanis
Why Timbre?
- Full Clojure & ClojureScript support, with built-in appenders for both
- A single, simple config map, and you're set. No need for XML or properties files
- Simple
(fn [data]) -> ?effectsappenders, and(fn [data]) -> ?datamiddleware - Easily save raw logging arguments to the DB of your choice
- Easily filter logging calls by any combination of: level, namespace, appender
- Zero overhead compile-time level/ns elision
- Powerful, easy-to-configure rate limits and async logging
- Great performance and flexibility at any scale
- Small, simple, cross-platform pure-Clojure codebase
Documentation
Funding
You can help support continued work on this project and others, thank you!! 🙏
License
Copyright © 2014-2025 Peter Taoussanis.
Licensed under EPL 1.0 (same as Clojure).
