Skip to content

taoensso/timbre

Repository files navigation

Taoensso open source
API | Wiki | Latest releases | Slack channel

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

Latest release/s

Main tests Graal tests

See here for earlier releases.

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]) -> ?effects appenders, and (fn [data]) -> ?data middleware
  • 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

  • Wiki (getting started, usage, etc.)
  • API reference: Codox

Funding

You can help support continued work on this project, thank you!! 🙏

License

Copyright © 2014-2024 Peter Taoussanis.
Licensed under EPL 1.0 (same as Clojure).