Added bebot logger.

This commit is contained in:
niten 2022-06-14 08:42:44 -07:00
parent 7ff8a393c0
commit bdedb3028d
2 changed files with 29 additions and 1 deletions

View File

@ -8,7 +8,7 @@
org.fudo/fudo-clojure {
:git/url "https://git.fudo.org/fudo-public/fudo-clojure.git"
:sha "1312a2805616b265ed4c89ef6216f300a7a7a155"
:sha "9775e301714b785c27b23664b0d89e379bdca27e"
}
}
:aliases {

28
src/bebot/logger.clj Normal file
View File

@ -0,0 +1,28 @@
(ns bebot.logger
(:require [bebot.api.client :as client]
[bebot.api.channel :as chan]
[bebot.client :refer [connect]]
[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}}]
(unwrap
(let-result [conn (connect url access-token)
chan (client/open-channel! conn channel-id)]
(success (->MatterLogger chan (atom verbosity))))))