taoensso.timbre.appenders.carmine
carmine-appender
(carmine-appender & [{:keys [conn-opts keyfn nentries-by-level], :or {keyfn default-keyfn, nentries-by-level {:trace 50, :debug 50, :info 50, :warn 100, :error 100, :fatal 100, :report 100}}}])
Returns a Carmine Redis appender (experimental, subject to change):
* All raw logging args are preserved in serialized form (even Throwables!).
* Only the most recent instance of each unique entry is kept (uniqueness
determined by data-hash-fn).
* Configurable number of entries to keep per logging level.
* Log is just a value: a vector of Clojure maps: query+manipulate with
standard seq fns: group-by hostname, sort/filter by ns & severity, explore
exception stacktraces, filter by raw arguments, etc. Datomic and `core.logic`
also offer interesting opportunities here.
See accompanying `query-entries` fn to return deserialized log entries.
default-keyfn
(default-keyfn level)
make-carmine-appender
(make-carmine-appender & [appender-merge opts])
DEPRECATED. Please use `carmine-appender` instead.
query-entries
(query-entries conn-opts level & [n asc? keyfn])
Alpha - subject to change!
Returns latest `n` log entries by level as an ordered vector of deserialized
maps. Normal sequence fns can be used to query/transform entries. Datomic and
core.logic are also useful!