23 lines
943 B
Scheme
23 lines
943 B
Scheme
;; utils/logging/output.scm - Pure logging output functions
|
|
|
|
(define-module (utils logging output)
|
|
#:use-module (utils logging format)
|
|
#:use-module (utils logging level)
|
|
#:export (log-message-pure
|
|
log-to-port))
|
|
|
|
;; Pure function: Create log message without side effects
|
|
;; Input: level, color, prefix, message, args
|
|
;; Output: formatted log message string
|
|
(define (log-message-pure level color prefix message args)
|
|
"Pure function to create formatted log message"
|
|
(format-log-message level color prefix message args))
|
|
|
|
;; Impure function: Write log message to port
|
|
;; Input: port, level, color, prefix, message, args
|
|
;; Output: unspecified (side effect: writes to port)
|
|
(define (log-to-port port level color prefix message args)
|
|
"Write formatted log message to specified port"
|
|
(let ((formatted-message (log-message-pure level color prefix message args)))
|
|
(display formatted-message port)
|
|
(force-output port)))
|