38 lines
1.2 KiB
Scheme
38 lines
1.2 KiB
Scheme
;; utils/logging/core.scm - Core logging functions
|
|
|
|
(define-module (utils logging core)
|
|
#:use-module (utils logging state)
|
|
#:use-module (utils logging output)
|
|
#:export (log-with-color
|
|
log-debug
|
|
log-info
|
|
log-warn
|
|
log-error
|
|
log-success))
|
|
|
|
;; Impure function: Core logging with color and level checking
|
|
(define (log-with-color level color prefix message . args)
|
|
"Log message with color if level is appropriate"
|
|
(when (should-log? level)
|
|
(log-to-port (current-error-port) level color prefix message args)))
|
|
|
|
;; Specific logging functions - each does one thing well
|
|
(define (log-debug message . args)
|
|
"Log debug message"
|
|
(apply log-with-color 'debug 'cyan "DEBUG" message args))
|
|
|
|
(define (log-info message . args)
|
|
"Log info message"
|
|
(apply log-with-color 'info 'blue "INFO " message args))
|
|
|
|
(define (log-warn message . args)
|
|
"Log warning message"
|
|
(apply log-with-color 'warn 'yellow "WARN " message args))
|
|
|
|
(define (log-error message . args)
|
|
"Log error message"
|
|
(apply log-with-color 'error 'red "ERROR" message args))
|
|
|
|
(define (log-success message . args)
|
|
"Log success message"
|
|
(apply log-with-color 'info 'green "SUCCESS" message args))
|