README.md

NOTICE

The Timbre Clojars group was recently changed. Please update your project.clj to use:

[com.taoensso/timbre "{VERSION}"]

Timbre, a (sane) logging library for Clojure

Logging with Java can be maddeningly, unnecessarily hard. Particularly if all you want is something simple that works out the box.

tools.logging helps, but it doesn't save you from the mess of logger dependencies and configuration hell.

Timbre is an attempt to make simple logging simple and more complex logging possible.

What's In The Box?

Small, uncomplicated all-Clojure library.

Super-simple map-based config: no arcane XML or properties files.

Decent performance (low overhead).

Flexible fn-centric appender model.

Sensible built-in appenders including simple email appender.

Tunable flood control.

Asynchronous logging support.

Status

Timbre was built in a day after I finally lost my patience trying to configure Log4j. I tried to keep the design simple and sensible but I didn't spend much time thinking about it so there may still be room for improvement. In particular the configuration and appender formats are still subject to change.

And because appender fns are just regular Clojure fns, you have unlimited power: write to your database, send a message over the network, check some other state (e.g. environment config) before making a choice, etc.

See (doc timbre/config) for more information on appenders.

Timbre Supports the ClojureWerkz Project Goals

ClojureWerkz is a growing collection of open-source, batteries-included Clojure libraries that emphasise modern targets, great documentation, and thorough testing.

Contact & Contribution

Reach me (Peter Taoussanis) at ptaoussanis at gmail.com for questions/comments/suggestions/whatever. I'm very open to ideas if you have any!