From f0e52b80df8821001f296f2b958f83ed98fa102a Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Mon, 8 Aug 2011 11:44:34 -0600 Subject: [PATCH] Adding generalization of log to serve/servlet --- collects/web-server/scribblings/servlet-env.scrbl | 4 ++-- collects/web-server/servlet-env.rkt | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/collects/web-server/scribblings/servlet-env.scrbl b/collects/web-server/scribblings/servlet-env.scrbl index 336e5c6853..971708a473 100644 --- a/collects/web-server/scribblings/servlet-env.scrbl +++ b/collects/web-server/scribblings/servlet-env.scrbl @@ -166,7 +166,7 @@ Like always, you don't even need to save the file. [#:ssl-key ssl-key (or/c false/c path-string?) (and ssl? (build-path server-root-path "private-key.pem"))] [#:log-file log-file (or/c false/c path-string?) #f] - [#:log-format log-format log-format/c 'apache-default]) + [#:log-format log-format (or/c log-format/c format-req/c) 'apache-default]) void]{ This sets up and starts a fairly default server instance. @@ -211,7 +211,7 @@ Like always, you don't even need to save the file. Web Server is used instead. Of course, if a path is given, then it overrides this behavior. If @racket[log-file] is given, then it used to log requests using @racket[log-format] as the format. Allowable formats - are those allowed by @racket[log-format->format]. + are those allowed by @racket[log-format->format]. If @racket[log-format] is a function, it is used directly to render the log entry. If @racket[connection-close?] is @racket[#t], then every connection is closed after one request. Otherwise, the client decides based on what HTTP version it uses. diff --git a/collects/web-server/servlet-env.rkt b/collects/web-server/servlet-env.rkt index 6405362f4e..4d85a894a8 100644 --- a/collects/web-server/servlet-env.rkt +++ b/collects/web-server/servlet-env.rkt @@ -64,7 +64,7 @@ #:servlet-path string? #:servlet-regexp regexp? #:log-file (or/c false/c path-string?) - #:log-format log:log-format/c) + #:log-format (or/c log:log-format/c log:format-req/c)) . ->* . void)]) @@ -145,7 +145,10 @@ [log-format 'apache-default]) (define (dispatcher sema) (dispatcher-sequence - (and log-file (log:make #:format (log:log-format->format log-format) + (and log-file (log:make #:format + (if (symbol? log-format) + (log:log-format->format log-format) + log-format) #:log-path log-file)) (and quit? (filter:make #rx"^/quit$" (quit-server sema))) (dispatch/servlet