diff --git a/src/bebot/logger.clj b/src/bebot/logger.clj index 708e7f8..87b5fe2 100644 --- a/src/bebot/logger.clj +++ b/src/bebot/logger.clj @@ -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)))))