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 ll)))
|
||||
|
||||
(define logger-thread
|
||||
(define logger-thread #f)
|
||||
|
||||
(when (eq? logger-thread #f)
|
||||
(set! logger-thread
|
||||
(thread
|
||||
(λ () (let loop ()
|
||||
(let* ((v (sync log-queue))
|
||||
@@ -109,7 +112,13 @@
|
||||
)))
|
||||
|
||||
(if (null? lc)
|
||||
(begin
|
||||
(enqueue! buffer-queue (list topic level dt msg))
|
||||
(let loop ()
|
||||
(when (> (queue-length buffer-queue) max-log-queue-len)
|
||||
(dequeue! buffer-queue)
|
||||
(loop)))
|
||||
)
|
||||
(begin
|
||||
(when (> (queue-length buffer-queue) 0)
|
||||
(for-each (λ (log-entry)
|
||||
@@ -131,6 +140,7 @@
|
||||
(loop))))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(define (log-to* receiver log-callbacks)
|
||||
(void
|
||||
|
||||
Reference in New Issue
Block a user