taoensso.timbre.appenders.carmine
default-keyfn
(default-keyfn level)
make-carmine-appender
(make-carmine-appender & [appender-opts {:keys [conn-opts keyfn args-hash-fn nentries-by-level], :or {keyfn default-keyfn, args-hash-fn timbre/default-args-hash-fn, nentries-by-level {:trace 50, :debug 50, :info 50, :warn 100, :error 100, :fatal 100, :report 100}}, :as opts}])
Alpha - subject to change!
Returns a Carmine Redis appender:
* All raw logging args are preserved in serialized form (even Throwables!).
* Only the most recent instance of each unique entry is kept (hash fn used
to determine uniqueness is configurable).
* 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.
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!