diff --git a/collects/compiler/cm.rkt b/collects/compiler/cm.rkt index 4d19fb23f9..10c6bd0f61 100644 --- a/collects/compiler/cm.rkt +++ b/collects/compiler/cm.rkt @@ -20,7 +20,7 @@ manager-skip-file-handler file-stamp-in-collection file-stamp-in-paths - (rename-out [trace manager-trace-handler]) + manager-trace-handler get-file-sha1 get-compiled-file-sha1 with-compile-output @@ -29,8 +29,13 @@ make-compile-lock compile-lock->parallel-lock-client) +(define cm-logger (make-logger 'compiler/cm (current-logger))) +(define (default-manager-trace-handler str) + (when (log-level? cm-logger 'debug) + (log-message cm-logger 'debug str (current-inexact-milliseconds)))) + (define manager-compile-notify-handler (make-parameter void)) -(define trace (make-parameter void)) +(define manager-trace-handler (make-parameter default-manager-trace-handler)) (define indent (make-parameter "")) (define trust-existing-zos (make-parameter #f)) (define manager-skip-file-handler (make-parameter (λ (x) #f))) @@ -131,8 +136,10 @@ (reroot-path base root)])) (define (trace-printf fmt . args) - (let ([t (trace)]) - (unless (eq? t void) + (let ([t (manager-trace-handler)]) + (unless (or (eq? t void) + (and (equal? t default-manager-trace-handler) + (not (log-level? cm-logger 'debug)))) (t (string-append (indent) (apply format fmt args)))))) (define (get-deps code path) diff --git a/collects/scribblings/raco/make.scrbl b/collects/scribblings/raco/make.scrbl index 02207b1937..e98fdf56ea 100644 --- a/collects/scribblings/raco/make.scrbl +++ b/collects/scribblings/raco/make.scrbl @@ -319,7 +319,12 @@ compilation starts. The argument to the procedure is the file's path.} A parameter for a procedure of one argument that is called to report compilation-manager actions, such as checking a file. The argument to - the procedure is a string.} + the procedure is a string. + + The default value of the parameter logs the argument, along with + @racket[current-inexact-milliseconds] to, a logger named @racket['compiler/cm] + at the @racket['debug] level. + } @defparam[manager-skip-file-handler proc (-> path? (or/c (cons/c number? promise?) #f))]{