aboutsummaryrefslogtreecommitdiff
path: root/cljcc-compiler/src/cljcc/core/log.clj
diff options
context:
space:
mode:
authorYour Name <agrawalshagun07@gmail.com>2025-03-16 18:03:26 +0530
committerYour Name <agrawalshagun07@gmail.com>2025-03-16 18:03:26 +0530
commit32499638cef3c49ff686b19b5708d6b08712c526 (patch)
tree31f09287602d243b22660fe455e5174bdcc280b4 /cljcc-compiler/src/cljcc/core/log.clj
parent277319fa392f5ee9f21eedf2c4d224739f045690 (diff)
Refactor into cli and cljcc-compiler folders
Pass all tests. Fix babashka tasks and build setup. Repl is behaving in unexpected ways, otherwise working as expected.
Diffstat (limited to 'cljcc-compiler/src/cljcc/core/log.clj')
-rw-r--r--cljcc-compiler/src/cljcc/core/log.clj28
1 files changed, 28 insertions, 0 deletions
diff --git a/cljcc-compiler/src/cljcc/core/log.clj b/cljcc-compiler/src/cljcc/core/log.clj
new file mode 100644
index 0000000..bb92b02
--- /dev/null
+++ b/cljcc-compiler/src/cljcc/core/log.clj
@@ -0,0 +1,28 @@
+(ns cljcc.core.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))