log level is implemented.
This commit is contained in:
@@ -70,6 +70,17 @@
|
||||
(define (sl-log-level)
|
||||
log-level)
|
||||
|
||||
(define log-hash (hash 'debug 0 'dbg 0
|
||||
'info 1
|
||||
'warning 2 'warn 2
|
||||
'err 3 'error 3
|
||||
'fatal 5))
|
||||
|
||||
(define (needs-logging level)
|
||||
(let ((ll (hash-ref log-hash log-level 6))
|
||||
(l (hash-ref log-hash level 6)))
|
||||
(>= l ll)))
|
||||
|
||||
(define (log-to* receiver log-callbacks)
|
||||
(void
|
||||
(thread
|
||||
@@ -99,10 +110,11 @@
|
||||
(enqueue! log-queue (list topic level dt msg))
|
||||
(unless (null? lc)
|
||||
(for-each (λ (log-entry)
|
||||
(when (needs-logging (cadr log-entry))
|
||||
(for-each (λ (e)
|
||||
(let ((callback (cdr e)))
|
||||
(apply callback log-entry)))
|
||||
lc)
|
||||
lc))
|
||||
)
|
||||
(queue->list log-queue))
|
||||
(set! log-queue (make-queue)))
|
||||
|
||||
Reference in New Issue
Block a user