Add sub-range-binder for define-logger
This commit is contained in:
parent
e7c6efdaa8
commit
c21beab167
|
@ -39,6 +39,13 @@
|
||||||
(d-l X #:parent (current-logger)))]
|
(d-l X #:parent (current-logger)))]
|
||||||
[(d-l X #:parent parent)
|
[(d-l X #:parent parent)
|
||||||
(let* ([X #'X]
|
(let* ([X #'X]
|
||||||
|
[logger-local-introduced (syntax-local-introduce X)]
|
||||||
|
[logger-name-size (string-length (symbol->string (syntax-e X)))]
|
||||||
|
[mk-binder (lambda (id starting-point)
|
||||||
|
(vector (syntax-local-introduce id)
|
||||||
|
starting-point logger-name-size 0.5 0.5
|
||||||
|
logger-local-introduced
|
||||||
|
0 logger-name-size 0.5 0.5))]
|
||||||
[mk (lambda (mode)
|
[mk (lambda (mode)
|
||||||
(datum->syntax X (string->symbol (format "log-~a-~a" (syntax-e X) mode)) X))])
|
(datum->syntax X (string->symbol (format "log-~a-~a" (syntax-e X) mode)) X))])
|
||||||
(unless (identifier? X)
|
(unless (identifier? X)
|
||||||
|
@ -51,10 +58,16 @@
|
||||||
[X-logger
|
[X-logger
|
||||||
(datum->syntax X (string->symbol (format "~a-logger" (syntax-e X))) X)]
|
(datum->syntax X (string->symbol (format "~a-logger" (syntax-e X))) X)]
|
||||||
[X X])
|
[X X])
|
||||||
#'(begin
|
(syntax-property
|
||||||
(define X-logger (make-logger 'X (check-logger-or-false 'd-l parent)))
|
#'(begin
|
||||||
(define-syntax log-X-fatal (make-define-log 'fatal #'X-logger #''X))
|
(define X-logger (make-logger 'X (check-logger-or-false 'd-l parent)))
|
||||||
(define-syntax log-X-error (make-define-log 'error #'X-logger #''X))
|
(define-syntax log-X-fatal (make-define-log 'fatal #'X-logger #''X))
|
||||||
(define-syntax log-X-warning (make-define-log 'warning #'X-logger #''X))
|
(define-syntax log-X-error (make-define-log 'error #'X-logger #''X))
|
||||||
(define-syntax log-X-info (make-define-log 'info #'X-logger #''X))
|
(define-syntax log-X-warning (make-define-log 'warning #'X-logger #''X))
|
||||||
(define-syntax log-X-debug (make-define-log 'debug #'X-logger #''X)))))])))
|
(define-syntax log-X-info (make-define-log 'info #'X-logger #''X))
|
||||||
|
(define-syntax log-X-debug (make-define-log 'debug #'X-logger #''X)))
|
||||||
|
'sub-range-binders
|
||||||
|
(map
|
||||||
|
mk-binder
|
||||||
|
(list #'X-logger #'log-X-fatal #'log-X-error #'log-X-warning #'log-X-info #'log-X-debug)
|
||||||
|
(list 0 4 4 4 4 4)))))])))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user