diff options
Diffstat (limited to 'cljcc-compiler/src/cljcc/log.clj')
| -rw-r--r-- | cljcc-compiler/src/cljcc/log.clj | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cljcc-compiler/src/cljcc/log.clj b/cljcc-compiler/src/cljcc/log.clj new file mode 100644 index 0000000..3dbc4fb --- /dev/null +++ b/cljcc-compiler/src/cljcc/log.clj @@ -0,0 +1,28 @@ +(ns cljcc.log + (:require [clojure.string :as str])) + +(def ^:private log-colors + {:debug "\u001b[36m" ; Cyan + :info "\u001b[32m" ; Green + :warn "\u001b[33m" ; Yellow + :error "\u001b[31m" ; Red + :reset "\u001b[0m"}) ; Reset color + +(def reset-color (get log-colors :reset)) + +(defn- log-message [level message] + (let [color (get log-colors level) + formatted-message (str color "[" (str/upper-case (name level)) "] " message reset-color)] + (println formatted-message))) + +(defn debug [msg] + (log-message :debug msg)) + +(defn info [msg] + (log-message :info msg)) + +(defn warn [msg] + (log-message :warn msg)) + +(defn error [msg] + (log-message :error msg)) |
