From ceeaa35a7e1c034aae5957b9168aa6dc367c31d2 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Wed, 24 Jun 2026 14:20:07 +0200 Subject: [PATCH] log level is implemented. --- main.rkt | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/main.rkt b/main.rkt index 20e7b81..c06aace 100644 --- a/main.rkt +++ b/main.rkt @@ -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) - (for-each (λ (e) - (let ((callback (cdr e))) - (apply callback log-entry))) - lc) + (when (needs-logging (cadr log-entry)) + (for-each (λ (e) + (let ((callback (cdr e))) + (apply callback log-entry))) + lc)) ) (queue->list log-queue)) (set! log-queue (make-queue)))