diff options
Diffstat (limited to 'addons/web/common/dispatch.py')
| -rw-r--r-- | addons/web/common/dispatch.py | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/addons/web/common/dispatch.py b/addons/web/common/dispatch.py index 0f2b7fd2293..2336ca2d426 100644 --- a/addons/web/common/dispatch.py +++ b/addons/web/common/dispatch.py @@ -4,6 +4,7 @@ from __future__ import with_statement import functools import logging import os +import pprint import sys import traceback import uuid @@ -26,6 +27,8 @@ import backendrpc as backend __all__ = ['Root', 'jsonrequest', 'httprequest', 'Controller', 'WebRequest', 'JsonRequest', 'HttpRequest'] +_logger = logging.getLogger(__name__) + #----------------------------------------------------------- # Globals (wont move into a pool) #----------------------------------------------------------- @@ -159,8 +162,8 @@ class JsonRequest(WebRequest): else: self.jsonrequest = simplejson.loads(request, object_hook=nonliterals.non_literal_decoder) self.init(self.jsonrequest.get("params", {})) - if self.debug or 1: - print "--> %s.%s %s" % (controller.__class__.__name__, method.__name__, self.jsonrequest) + if _logger.isEnabledFor(logging.DEBUG): + _logger.debug("--> %s.%s\n%s", controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) response['id'] = self.jsonrequest.get('id') response["result"] = method(controller, self, **self.params) except backend.OpenERPUnboundException: @@ -184,7 +187,7 @@ class JsonRequest(WebRequest): } } except Exception: - logging.getLogger('openerp.JSONRequest.dispatch').exception\ + logging.getLogger(__name__ + '.JSONRequest.dispatch').exception\ ("An error occured while handling a json request") error = { 'code': 300, @@ -197,10 +200,8 @@ class JsonRequest(WebRequest): if error: response["error"] = error - if self.debug or 1: - print "<--", response - print - + if _logger.isEnabledFor(logging.DEBUG): + _logger.debug("<--\n%s", pprint.pformat(response)) content = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) return werkzeug.wrappers.Response( content, headers=[('Content-Type', 'application/json'), @@ -237,15 +238,13 @@ class HttpRequest(WebRequest): akw[key] = value else: akw[key] = type(value) - if self.debug or 1: - print "%s --> %s.%s %r" % (self.httprequest.method, controller.__class__.__name__, method.__name__, akw) + _logger.debug("%s --> %s.%s %r", self.httprequest.method, controller.__class__.__name__, method.__name__, akw) r = method(controller, self, **self.params) if self.debug or 1: if isinstance(r, werkzeug.wrappers.BaseResponse): - print '<--', r + _logger.debug('<-- %s', r) else: - print "<--", 'size:', len(r) - print + _logger.debug("<-- size: %s", len(r)) return r def make_response(self, data, headers=None, cookies=None): @@ -350,7 +349,7 @@ class Root(object): if request.path == '/': return werkzeug.utils.redirect( - self.root(request.args), 301)( + self.root(dict(request.args, debug='')), 301)( environ, start_response) elif request.path == '/mobile': return werkzeug.utils.redirect( @@ -391,7 +390,7 @@ class Root(object): manifest_path = os.path.join(addons_path, module, '__openerp__.py') if os.path.isfile(manifest_path): manifest = ast.literal_eval(open(manifest_path).read()) - print "Loading", module + _logger.info("Loading %s", module) m = __import__(module) addons_module[module] = m addons_manifest[module] = manifest @@ -424,6 +423,6 @@ class Root(object): meth = rest[0] m = getattr(c, meth) if getattr(m, 'exposed', False): - print "Dispatching to", ps, c, meth, m + _logger.debug("Dispatching to %s %s %s", ps, c, meth) return m return None |
