aboutsummaryrefslogtreecommitdiff
path: root/src/cljcc/log.clj
blob: 394e4a48fc2d89f8a8eef2283e5719fd5c4436ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(ns cljcc.log
  (:require [clojure.string :as str]
            [cljcc.log :as log]))

(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))