Web Server: PLT HTTP Server

1`` | Running the Web Server
2`` | Scheme Servlets
3`` | Web Language Servlets
4`` | Configuration
5`` | Dispatchers
6`` | Web Config Unit
7`` | Web Server Unit
8`` | Continuation Managers
9`` | Internal
10`` | Troubleshooting
11`` | Acknowledgements
| Index

On this page:

format-req/ c
paren-format
extended-format
apache-default-format
log-format->format
make

Version: 4.0.2
contents index
← prev up next →

#### 5.8`` Logging

(require web-server/dispatchers/dispatch-log)

The web-server/dispatchers/dispatch-log module defines a dispatcher constructor for transparent logging of requests.

format-req/c : contract?

Equivalent to (-> request? string?).

paren-format : format-req/c

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)))

extended-format : format-req/c

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))))

apache-default-format : format-req/c

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.

contents index
← prev up next →