grokking simplicity and refactoring
This commit is contained in:
parent
89a7fe100d
commit
fb4361d938
67 changed files with 6275 additions and 56 deletions
27
packages/lab-tool/utils/logging/state.scm
Normal file
27
packages/lab-tool/utils/logging/state.scm
Normal file
|
@ -0,0 +1,27 @@
|
|||
;; utils/logging/state.scm - Logging state management
|
||||
|
||||
(define-module (utils logging state)
|
||||
#:use-module (utils logging level)
|
||||
#:export (get-current-log-level
|
||||
set-log-level!
|
||||
should-log?))
|
||||
|
||||
;; Mutable state: Current log level
|
||||
(define current-log-level 'info)
|
||||
|
||||
;; Impure function: Get current log level
|
||||
(define (get-current-log-level)
|
||||
"Get current log level"
|
||||
current-log-level)
|
||||
|
||||
;; Impure function: Set log level with validation
|
||||
(define (set-log-level! level)
|
||||
"Set current log level (with validation)"
|
||||
(if (validate-log-level level)
|
||||
(set! current-log-level level)
|
||||
(error "Invalid log level" level)))
|
||||
|
||||
;; Impure function: Check if message should be logged
|
||||
(define (should-log? level)
|
||||
"Check if message should be logged at current level"
|
||||
(should-log-pure current-log-level level))
|
Loading…
Add table
Add a link
Reference in a new issue