Merge pull request #13 from emlyn/master

Add per-appender prefix functions (thanks Emlyn)
This commit is contained in:
Peter Taoussanis 2013-04-22 08:22:04 -07:00
commit 84631ad0ae
2 changed files with 11 additions and 4 deletions

View File

@ -132,10 +132,18 @@
(defn- wrap-appender-fn
"Wraps compile-time appender fn with additional runtime capabilities
controlled by compile-time config."
[{apfn :fn :keys [async? max-message-per-msecs] :as appender}]
[{apfn :fn :keys [async? max-message-per-msecs prefix-fn] :as appender}]
(->> ; Wrapping applies capabilities bottom-to-top
apfn
;; Wrap for per-appender prefix-fn support
((fn [apfn]
(if-not prefix-fn
apfn
(fn [apfn-args]
(apfn (assoc apfn-args
:prefix (prefix-fn apfn-args)))))))
;; Wrap for runtime flood-safety support
((fn [apfn]
(if-not max-message-per-msecs

View File

@ -32,9 +32,7 @@
(when-let [irc-config (:irc ap-config)]
(send-message
(assoc irc-config
:prefix (if-let [prefix-fn (:prefix-fn irc-config)]
(prefix-fn prefix)
prefix)
:prefix prefix
:message message))))
(def irc-appender
@ -44,4 +42,5 @@
:name \"My Logger\" :chan \"#logs\"")
:min-level :info :enabled? true :async? false
:max-message-per-msecs nil ; no rate limit by default
:prefix-fn (fn [{:keys [level]}] (-> level name str/upper-case))
:fn appender-fn})