I've created my own logger via make-logger, and I started a thread with a loop that sync's on the log receiver I created via make-log-receiver. I'm logging some messages in a test, and it appears that the test completes (and presumably kills the log receiver thread) before the log message is displayed. I'm calling (flush-output) after printf'ing the message to standard out.
The default logger does not have this problem. Is that because it doesn't use a separate thread to sync on the log messages and display them? Or am I misunderstanding how to best utilize a custom logger? I've copy/pasted some code below for specifics. Thanks, Brian (define axio-logger (make-logger 'axio)) (define/contract (axio-log-debug str) (-> string? any) (log-message axio-logger 'debug str #f)) ... (define/contract (axio-init-logger level) (-> symbol? any) (define axio-log-receiver (make-log-receiver axio-logger level)) (thread (λ () (let loop () (define v (sync axio-log-receiver)) (printf "[~a] ~a\n" (vector-ref v 0) (vector-ref v 1)) (flush-output) (loop))))) (axio-log-debug "my log message") -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.