fix benchmark logging to flush on every event

This commit is contained in:
Burke Fetscher 2014-04-10 10:34:28 -05:00
parent 206466708f
commit 4c0a17acb0
2 changed files with 8 additions and 13 deletions

View File

@ -5,17 +5,11 @@
(provide with-logging-to)
(define (with-logging-to filename thunk)
(call-with-output-file filename
(λ (out)
(thd-with-log thunk out))
#:exists 'append))
(define (thd-with-log thunk log-port)
(define benchmark-logger
(make-logger #f (current-logger)))
(define bmark-log-recv
(make-log-receiver benchmark-logger 'info))
(define handler (log-handler bmark-log-recv log-port))
(define handler (log-handler bmark-log-recv filename))
(parameterize ([current-logger benchmark-logger])
(define body-thd
(thread thunk))
@ -34,13 +28,15 @@
(handler log-evt)
(loop)])))))))
(define (log-handler recv log-port)
(define (log-handler recv filename)
(λ (log-evt)
(define msg (vector-ref log-evt 1))
(unless
(regexp-match? #rx"cm-accomplice" msg)
(displayln (timestamp) log-port)
(displayln (vector-ref log-evt 1) log-port))))
(unless (regexp-match? #rx"cm-accomplice" msg)
(call-with-output-file filename
(λ (log-port)
(displayln (string-append (timestamp) " " msg)
log-port))
#:exists 'append))))
(define (timestamp)
(parameterize ([date-display-format 'iso-8601])

View File

@ -211,7 +211,6 @@
(define fpath (if (relative-path? maybe-fpath)
maybe-fpath
(find-relative-path (current-directory) maybe-fpath)))
(displayln fpath)
(define tc (dynamic-require fpath 'type-check))
(define check (dynamic-require fpath 'check))
(define gen-term (dynamic-require fpath 'generate-M-term))