log level is implemented.
This commit is contained in:
@@ -70,6 +70,17 @@
|
|||||||
(define (sl-log-level)
|
(define (sl-log-level)
|
||||||
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)
|
(define (log-to* receiver log-callbacks)
|
||||||
(void
|
(void
|
||||||
(thread
|
(thread
|
||||||
@@ -99,10 +110,11 @@
|
|||||||
(enqueue! log-queue (list topic level dt msg))
|
(enqueue! log-queue (list topic level dt msg))
|
||||||
(unless (null? lc)
|
(unless (null? lc)
|
||||||
(for-each (λ (log-entry)
|
(for-each (λ (log-entry)
|
||||||
(for-each (λ (e)
|
(when (needs-logging (cadr log-entry))
|
||||||
(let ((callback (cdr e)))
|
(for-each (λ (e)
|
||||||
(apply callback log-entry)))
|
(let ((callback (cdr e)))
|
||||||
lc)
|
(apply callback log-entry)))
|
||||||
|
lc))
|
||||||
)
|
)
|
||||||
(queue->list log-queue))
|
(queue->list log-queue))
|
||||||
(set! log-queue (make-queue)))
|
(set! log-queue (make-queue)))
|
||||||
|
|||||||
Reference in New Issue
Block a user