Configuring a Timbre appender
An appender's configuration is managed by a single function, timbre/set-config!
, which accepts a list of keys identifying the type of appender, and the appender map, which is the actual configuration for the appender.
Taking a look at the init
function in hipstr.handler
, the first thing we see is a call to configure Timbre:
(timbre/set-config! [:appenders :rotor] {:min-level :info :enabled? true :async? false ; should be always false for rotor :max-message-per-msecs nil :fn rotor/appender-fn})
The preceding snippet configures the rotor appender, a type of file appender that creates a new log file after the current log file exceeds a specific size. Timbre's set-config!
has a similar signature and behavior to Clojure's assoc-in
(https://clojuredocs.org/clojure.core/assoc-in) function, but without having to define the target map to mutate.
Note
To see all the different appenders that Timbre ships with and to see how to configure each...