(handle-access-logging (lambda () (let ((h (request-headers (current-request)))) (log-to (access-log) "(\"~A\" \"~A\" ~A \"~A\" ~A.~A ~A \"~A\" \"~A\")" (remote-address) (seconds->string (current-seconds)) (request-method (current-request)) (uri->string (request-uri (current-request))) (request-major (current-request)) (request-minor (current-request)) (response-code (current-response)) (uri->string (header-value 'referer h (uri-reference "-"))) (let ((product (header-contents 'user-agent h))) (if product (product-unparser product) "**Unknown product**")))))) (define-record log-line ip date method uri http-version code referer user-agent)