From abcba53a7f30951710138d1eb3db059357295813 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Fri, 21 Nov 2014 15:25:44 +0100 Subject: [PATCH] [FIX] http.py: log 400 errors --- openerp/http.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openerp/http.py b/openerp/http.py index b1874a01280..787be3320ea 100644 --- a/openerp/http.py +++ b/openerp/http.py @@ -261,8 +261,10 @@ class WebRequest(object): def _call_function(self, *args, **kwargs): request = self if self.endpoint.routing['type'] != self._request_type: - raise werkzeug.exceptions.BadRequest("%s, %s: Function declared as capable of handling request of type '%s' but called with a request of type '%s'" % - (self.endpoint.original, self.httprequest.path, self.endpoint.routing['type'], self._request_type)) + msg = "%s, %s: Function declared as capable of handling request of type '%s' but called with a request of type '%s'" + params = (self.endpoint.original, self.httprequest.path, self.endpoint.routing['type'], self._request_type) + _logger.error(msg, *params) + raise werkzeug.exceptions.BadRequest(msg % params) kwargs.update(self.endpoint.arguments) @@ -466,7 +468,9 @@ class JsonRequest(WebRequest): try: self.jsonrequest = simplejson.loads(request) except simplejson.JSONDecodeError: - raise werkzeug.exceptions.BadRequest('Invalid JSON data') + msg = 'Invalid JSON data: %r' % (request,) + _logger.error('%s: %s', self.httprequest.path, msg) + raise werkzeug.exceptions.BadRequest(msg) self.params = dict(self.jsonrequest.get("params", {})) self.context = self.params.pop('context', dict(self.session.context))