- https://12factor.net/logs
- single appender, e.g. STDOUT is trivial. (Everything else can be built atop this if you think you need it (but you probably don't))
- functions all the way down
- just Clojure data-structures
- trivial to create appenders (e.g. like Timbre docs claim it is)
- play nicely with pipeline style (like timbre's spy)
- compiling out hidden log-levels with macros
- tracing/line numbers and such
- dynamic reloading of config
- multiple appenders (just provide a map as your function)
- Java logging (your appender can interface if needed)
- writing to files (>> /var/log/foo.log or add to function)
- logrotation (logrotate.d or add to appender function)
- filtering (grep - or custom valid-function)
- complicated dispatch