Keep the log queue on a maximum depth.
This commit is contained in:
@@ -83,7 +83,10 @@
|
|||||||
(l (hash-ref log-hash level 6)))
|
(l (hash-ref log-hash level 6)))
|
||||||
(>= l ll)))
|
(>= l ll)))
|
||||||
|
|
||||||
(define logger-thread
|
(define logger-thread #f)
|
||||||
|
|
||||||
|
(when (eq? logger-thread #f)
|
||||||
|
(set! logger-thread
|
||||||
(thread
|
(thread
|
||||||
(λ () (let loop ()
|
(λ () (let loop ()
|
||||||
(let* ((v (sync log-queue))
|
(let* ((v (sync log-queue))
|
||||||
@@ -109,7 +112,13 @@
|
|||||||
)))
|
)))
|
||||||
|
|
||||||
(if (null? lc)
|
(if (null? lc)
|
||||||
|
(begin
|
||||||
(enqueue! buffer-queue (list topic level dt msg))
|
(enqueue! buffer-queue (list topic level dt msg))
|
||||||
|
(let loop ()
|
||||||
|
(when (> (queue-length buffer-queue) max-log-queue-len)
|
||||||
|
(dequeue! buffer-queue)
|
||||||
|
(loop)))
|
||||||
|
)
|
||||||
(begin
|
(begin
|
||||||
(when (> (queue-length buffer-queue) 0)
|
(when (> (queue-length buffer-queue) 0)
|
||||||
(for-each (λ (log-entry)
|
(for-each (λ (log-entry)
|
||||||
@@ -131,6 +140,7 @@
|
|||||||
(loop))))
|
(loop))))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(define (log-to* receiver log-callbacks)
|
(define (log-to* receiver log-callbacks)
|
||||||
(void
|
(void
|
||||||
|
|||||||
Reference in New Issue
Block a user