2.8 Logging
The web-server/dispatchers/dispatch-log module defines a dispatcher constructor
for transparent logging of requests.
Formats a request by:
(format "~s\n" (list 'from (request-client-ip req) 'to (request-host-ip req) 'for (url->string (request-uri req)) 'at (date->string (seconds->date (current-seconds)) #t)))
Formats a request by:
(format "~s\n" `((client-ip ,(request-client-ip req)) (host-ip ,(request-host-ip req)) (referer ,(let ([R (headers-assq* #"Referer" (request-headers/raw req))]) (if R (header-value R) #f))) (uri ,(url->string (request-uri req))) (time ,(current-seconds))))
Formats a request like Apache’s default. However, Apache’s default
includes information about the response to a request, which this
function does not have access to, so it defaults the last two fields
to 200 and 512.
(log-format->format id) → format-req/c id : log-format/c
Maps 'parenthesized-default to paren-format,
'extended to extended-format, and
'apache-default to apache-default-format.
(make [#:format format #:log-path log-path]) → dispatcher/c format : format-req/c = paren-format log-path : path-string? = "log"