[log] Switch to using log-to-function.

This commit is contained in:
niten 2022-06-15 11:11:13 -07:00
parent bdedb3028d
commit a5959a15c3

View File

@ -5,24 +5,12 @@
[fudo-clojure.result :refer [let-result unwrap success]]
[fudo-clojure.logging :as log]))
(defrecord MatterLogger [channel verbosity]
log/Logger
(debug! [_ msg] (when (= :info @verbosity
(chan/send-post! channel (str "DEBUG: " msg)))))
(warn! [_ msg] (throw (ex-info "Not Implemented!" {})))
(error! [_ msg] (throw (ex-info "Not Implemented!" {})))
(fatal! [_ msg] (throw (ex-info "Not Implemented!" {})))
(info! [_ msg] (when (= :info @verbosity)
(chan/send-post! channel msg)))
(notify! [_ msg] (when (or (= :notify @verbosity)
(= :info @verbosity))
(chan/send-post! channel msg)))
(alert! [_ msg] (chan/send-post! channel msg)))
(defn make-logger [url access-token channel-id & {:keys [verbosity]
:or {verbosity :info}}]
(defn make-logger [url access-token channel-id &
{:keys [error-level logic-level]
:or {error-level :error
logic-level :notify}}]
(unwrap
(let-result [conn (connect url access-token)
chan (client/open-channel! conn channel-id)]
(success (->MatterLogger chan (atom verbosity))))))
(success (log/log-to-function (partial chan/send-post! chan)
error-level logic-level)))))