Skip to content

Commit

Permalink
Added config functions and updated demo to use.
Browse files Browse the repository at this point in the history
  • Loading branch information
oubiwann committed Jul 8, 2023
1 parent 43e12cf commit 10e8850
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 17 deletions.
1 change: 1 addition & 0 deletions rebar.config
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
coverage
]},
{demo, [
compile,
{lfe, 'run', "-m scripts/demo.lfe -- ./config/dev.config"}
]},
{publish, [
Expand Down
20 changes: 6 additions & 14 deletions scripts/demo.lfe
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,11 @@

(defun main
((`(,config-file))
(let ((`#(ok (,cfg)) (file:consult config-file)))
(logger:set_primary_config #m(level all))
(logger:set_handler_config
'default
(->> cfg
(proplists:get_value 'kernel)
(proplists:get_value 'logger)
(car)
(element 4)))
(timer:sleep 500)
(logjam-demo:run)
(timer:sleep 1000)
(io:format "~n")))
(logjam:set-config `#(path ,config-file))
(timer:sleep 500)
(logjam-demo:run)
(timer:sleep 1000)
(io:format "~n"))
((args)
(io:format "One arguement is required for the demo: the path to a config file.~n")
(io:format "(Got ~p)~n" `(,args))))
(io:format "(Got ~p)~n" `(,args))))
33 changes: 30 additions & 3 deletions src/logjam.lfe
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,21 @@
;;;; logger formatter regarding: max depth, templates.
(defmodule logjam
(export
(format 2))
(format 2)
(set-config 1))
(export-macro
log debug info notice warn warning error critical alert emergency))

(include-lib "lfe/include/clj.lfe")
(include-lib "logjam/include/logjam.hrl")

;;;==========================================================================
;;; API functions
;;;==========================================================================
(defun format
(((= `#m(msg #(report #m(label #(error_logger ,_) format ,format args ,terms))) data) user-config)
(format (map-update
data
(format (map-update
data
'msg `#(report #m(text ,(logjam_formatter:format_to_binary format terms))))
user-config))
((`#m(level ,level msg #(report ,msg) meta ,meta) user-config) (when (is_map msg))
Expand All @@ -42,6 +44,31 @@
'msg `#(report #m(text ,(logjam_formatter:format_to_binary format terms))))
user-config)))

(defun set-config
((`#(path ,filename))
(let ((`#(ok (,cfg)) (file:consult filename)))
(set-config cfg)))
((cfg-data)
(let ((handler-cfg (handler-cfg cfg-data)))
(logger:set_primary_config (maps:with '(level) handler-cfg))
(logger:set_handler_config 'default handler-cfg))))

;;;==========================================================================
;;; Private functions
;;;==========================================================================

(defun kernel-cfg (cfg)
(proplists:get_value 'kernel cfg))

(defun logger-cfg (cfg)
(proplists:get_value 'logger (kernel-cfg cfg)))

(defun handler-cfg (cfg)
(->> cfg
(logger-cfg)
(car)
(element 4)))

;;;==========================================================================
;;; API macros
;;;==========================================================================
Expand Down

0 comments on commit 10e8850

Please sign in to comment.