diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-07-02 16:15:08 +0200 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-07-02 16:26:21 +0200 |
commit | 3f1c996d1cfebbc3c859d210cda5ba7b61efdeec (patch) | |
tree | 25ef62a317f4eceb3e4fef9a046b7c513b8e8566 /src | |
parent | f139de0aad495eb8b5e91b941fee3d749d9b6b6c (diff) |
Also log the remote peer IP address
Diffstat (limited to 'src')
-rw-r--r-- | src/scm/webid-oidc/program.scm | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/scm/webid-oidc/program.scm b/src/scm/webid-oidc/program.scm index d4b98fe..66f1c66 100644 --- a/src/scm/webid-oidc/program.scm +++ b/src/scm/webid-oidc/program.scm @@ -63,6 +63,14 @@ (define cache-http-get (with-cache #:http-get http-get-with-log)) +(define (request-ip-address request) + ;; The IP address of the remote end + (let ((socket (request-port request))) + (let ((peer (getpeername socket))) + (let ((family (sockaddr:fam peer)) + (address (sockaddr:addr peer))) + (inet-ntop family address))))) + (define (handler-with-log log-file error-file complete-corresponding-source handler) (lambda (request request-body) (when log-file @@ -74,8 +82,9 @@ (with-exception-handler (lambda (error) (format (current-error-port) - (G_ "~a: Internal server error: ~a\n") + (G_ "~a: ~a: Internal server error: ~a\n") (date->string (time-utc->date (current-time))) + (request-ip-address request) (error->str error)) (return (build-response #:code 500 @@ -93,9 +102,10 @@ (lambda () (receive (response response-body) (handler request request-body) - (format (current-error-port) - (G_ "~a: ~s ~a ~s ~a\n") + (format (current-output-port) + (G_ "~a: ~a: ~s ~a ~s ~a\n") (date->string (time-utc->date (current-time))) + (request-ip-address request) (request-method request) (uri-path (request-uri request)) (response-code response) |