5.8 Logging
The web-server/dispatchers/dispatch-log module defines a dispatcher constructor for transparent logging of requests.
Equivalent to (-> request? string?).
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.
(log-format->format id) → format-req/c |
id : symbol? |
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? |
format : format-req/c = paren-format |
log-path : path-string? = "log" |
Logs requests to log-path by using format to format the requests. Then invokes next-dispatcher.