diff options
author | ianb <devnull@localhost> | 2007-02-15 03:19:04 +0000 |
---|---|---|
committer | ianb <devnull@localhost> | 2007-02-15 03:19:04 +0000 |
commit | 23697accd4df29e348beab948268bb9804004110 (patch) | |
tree | b649f2fa3b0a37bdeed0bb2dfed35d2d404a49cd /paste/translogger.py | |
parent | 726476eeacc7c53b3eb61c681bf3af663e297c95 (diff) | |
download | paste-23697accd4df29e348beab948268bb9804004110.tar.gz |
Figure out the request URI earlier in translogger (so later rewrites won't change it). Quote the path in the logs
Diffstat (limited to 'paste/translogger.py')
-rw-r--r-- | paste/translogger.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/paste/translogger.py b/paste/translogger.py index 28817fd..cf78dce 100644 --- a/paste/translogger.py +++ b/paste/translogger.py @@ -6,6 +6,7 @@ Middleware for logging requests, using Apache combined log format import logging import time +import urllib class TransLogger(object): """ @@ -49,6 +50,8 @@ class TransLogger(object): def __call__(self, environ, start_response): start = time.localtime() + req_uri = urllib.quote(environ.get('SCRIPT_NAME', '') + + environ.get('PATH_INFO', '')) def replacement_start_response(status, headers, exc_info=None): # @@: Ideally we would count the bytes going by if no # content-length header was provided; but that does add @@ -57,12 +60,11 @@ class TransLogger(object): for name, value in headers: if name.lower() == 'content-length': bytes = value - self.write_log(environ, start, status, bytes) + self.write_log(environ, req_uri, start, status, bytes) return start_response(status, headers) return self.application(environ, replacement_start_response) - def write_log(self, environ, start, status, bytes): - req_uri = environ.get('SCRIPT_NAME', '') + environ.get('PATH_INFO') + def write_log(self, environ, req_uri, start, status, bytes): if environ.get('QUERY_STRING'): req_uri += '?'+environ['QUERY_STRING'] if bytes is None: |