On this page:
format-req/ c
paren-format
extended-format
apache-default-format
log-format/ c
log-format->format
make

2.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. 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.

Equivalent to (symbols 'parenthesized-default 'extended 'apache-default).

procedure

(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.

procedure

(make [#:format format #:log-path log-path])  dispatcher/c

  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.