This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-03-29
Channels
- # announcements (7)
- # asami (13)
- # babashka (22)
- # beginners (52)
- # calva (95)
- # clj-kondo (14)
- # cljs-dev (7)
- # clojars (5)
- # clojure (94)
- # clojure-austin (5)
- # clojure-dev (15)
- # clojure-europe (25)
- # clojure-nl (18)
- # clojure-uk (15)
- # clojuredesign-podcast (28)
- # clojurescript (63)
- # copenhagen-clojurians (1)
- # cursive (3)
- # datalevin (7)
- # datascript (13)
- # datomic (13)
- # duct (14)
- # emacs (24)
- # events (1)
- # fulcro (13)
- # graphql (7)
- # kaocha (4)
- # lambdaisland (6)
- # lsp (22)
- # music (5)
- # off-topic (24)
- # rdf (1)
- # re-frame (3)
- # reitit (9)
- # shadow-cljs (23)
- # sql (15)
- # testing (4)
- # tools-build (6)
- # vim (7)
- # vscode (7)
- # xtdb (21)
Hi guys, new user of Duct here, I am going over the example app on duct github wiki page. Now if I want to disable default logger and use timbre. I can just put this under :duct.profile/base key:
IIRC the default logger is timbre https://github.com/duct-framework/module.logging/blob/master/src/duct/module/logging.clj
(defmethod ig/init-key ::create [_ {:keys [db logger]}]
(fn [{[_ email password] :ataraxy/result}]
(let [id (create-user db email password)]
(println logger)
(log logger :info ::create {:email email})
[::response/created (str "/users/" id)])))
{:enabled? true, :fn #function[taoensso.timbre.appenders.core/spit-appender/self--15048]}
You can reference it by :duct/logger
.
https://github.com/duct-framework/logger.timbre/blob/master/src/duct_hierarchy.edn
:duct.logger/timbre
implements the :duct/logger
interface.
:duct.logger/timbre
{:level :info
:appenders {:spit #ig/ref :duct.logger.timbre/spit}}
:duct.logger.timbre/spit {:fname "logs/server.log"}
And then in the create user handler key i need to reference :duct.logger/timbre
:todo.handler.users/create
{:db #ig/ref :duct.database/sql
:logger #ig/ref :duct.logger/timbre}
And then in the init-key multimethod for my todo.handlers.users/create i can just reference the passed logger like this