[Repoze-checkins] r1094 - in repoze.debug/trunk: . repoze/debug
Chris McDonough
chrism at agendaless.com
Sun Jun 15 11:42:29 EDT 2008
Author: Chris McDonough <chrism at agendaless.com>
Date: Sun Jun 15 11:42:28 2008
New Revision: 1094
Log:
- Add source url to response logging.
Modified:
repoze.debug/trunk/CHANGES.txt
repoze.debug/trunk/repoze/debug/responselogger.py
repoze.debug/trunk/repoze/debug/tests.py
Modified: repoze.debug/trunk/CHANGES.txt
==============================================================================
--- repoze.debug/trunk/CHANGES.txt (original)
+++ repoze.debug/trunk/CHANGES.txt Sun Jun 15 11:42:28 2008
@@ -1,3 +1,7 @@
+Next release
+
+ - Add source url to response logging.
+
0.2 (2008/06/14)
- Add warning if content-length != body length.
Modified: repoze.debug/trunk/repoze/debug/responselogger.py
==============================================================================
--- repoze.debug/trunk/repoze/debug/responselogger.py (original)
+++ repoze.debug/trunk/repoze/debug/responselogger.py Sun Jun 15 11:42:28 2008
@@ -13,8 +13,9 @@
def __call__(self, environ, start_response):
rnd = random.randint(0, sys.maxint-1)
- environ['repoze.debug.id'] = rnd
- environ['repoze.debug.request_begin'] = time.time()
+ debug = environ['repoze.debug'] = {}
+ debug['id'] = rnd
+ debug['begin'] = time.time()
self.log_request(environ)
@@ -48,11 +49,14 @@
def log_request(self, environ):
supplement = Supplement(self, environ)
request_data = supplement.extraData()
- request_id = environ['repoze.debug.id']
+ debug = environ['repoze.debug']
+ request_id = debug['id']
out = []
t = time.ctime()
out.append('--- REQUEST %s at %s ---' % (request_id, t))
- out.append('URL: %s' % supplement.source_url)
+ url = supplement.source_url
+ debug['url'] = url
+ out.append('URL: %s' % url)
out.append('CGI Variables')
items = request_data[('extra', 'CGI Variables')].items()
items.sort()
@@ -66,17 +70,20 @@
self.logger.info('\n'.join(out))
def log_response(self, environ, status, headers, body):
- request_id = environ.get('repoze.debug.id')
+ debug = environ.get('repoze.debug', {})
+ request_id = debug.get('id')
out = []
t = time.ctime()
end = time.time()
- start = environ.get('repoze.debug.request_begin')
+ start = debug.get('begin')
if start:
duration = end - start
else:
duration = '??'
out.append('--- RESPONSE %s at %s (%0.4f seconds) ---' % (
request_id, t, duration))
+ url = debug.get('url', '??')
+ out.append('URL: %s' % url)
out.append('Status: %s' % status)
out.append('Response Headers')
cl = None
Modified: repoze.debug/trunk/repoze/debug/tests.py
==============================================================================
--- repoze.debug/trunk/repoze/debug/tests.py (original)
+++ repoze.debug/trunk/repoze/debug/tests.py Sun Jun 15 11:42:28 2008
@@ -61,6 +61,18 @@
self.assertEqual(len(logger.logged), 2)
self.failUnless('WARNING-1' in logger.logged[1])
+ def test_call_sourceurl_in_response(self):
+ body = ['thebody']
+ app = DummyApp(body, '200 OK', [('Content-Length', '1')])
+ logger = FakeLogger()
+ mw = self._makeOne(app, 1, logger)
+ environ = self._makeEnviron()
+ start_response = FakeStartResponse()
+ app_iter = mw(environ, start_response)
+ self.assertEqual(''.join(app_iter), 'thebody')
+ self.assertEqual(len(logger.logged), 2)
+ self.failUnless('URL: http://localhost' in logger.logged[1])
+
class TestMakeMiddleware(unittest.TestCase):
def _getFUT(self):
from repoze.debug.responselogger import make_middleware
More information about the Repoze-checkins
mailing list