Add log errors information in the server
This commit is contained in:
parent
933f29f4cf
commit
8a513418bc
|
@ -0,0 +1,49 @@
|
||||||
|
Index: trytond/protocols/jsonrpc.py
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
--- ./trytond/trytond/protocols/jsonrpc.py
|
||||||
|
+++ ./trytond/trytond/protocols/jsonrpc.py
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
import json
|
||||||
|
import base64
|
||||||
|
import encodings
|
||||||
|
+import logging
|
||||||
|
try:
|
||||||
|
from cStringIO import StringIO
|
||||||
|
except ImportError:
|
||||||
|
@@ -109,7 +110,14 @@
|
||||||
|
existing method through subclassing is the prefered means
|
||||||
|
of changing method dispatch behavior.
|
||||||
|
"""
|
||||||
|
- rawreq = json.loads(data, object_hook=object_hook)
|
||||||
|
+ try:
|
||||||
|
+ rawreq = json.loads(data, object_hook=object_hook)
|
||||||
|
+ except:
|
||||||
|
+ exc_type, exc_value = sys.exc_info()[:2]
|
||||||
|
+ logging.getLogger('jsonrpc').warning(
|
||||||
|
+ 'Exception in JSONRPC dispatcher: %s (%s)\n %s'
|
||||||
|
+ % (exc_value, exc_type, traceback.format_exc()))
|
||||||
|
+ raise
|
||||||
|
|
||||||
|
req_id = rawreq.get('id', 0)
|
||||||
|
method = rawreq['method']
|
||||||
|
@@ -125,11 +133,18 @@
|
||||||
|
response['result'] = self._dispatch(method, params)
|
||||||
|
except (UserError, UserWarning, NotLogged,
|
||||||
|
ConcurrencyException), exception:
|
||||||
|
+ logging.getLogger('jsonrpc').warning('User Error: %s (%s)'
|
||||||
|
+ % (method, params))
|
||||||
|
+ traceback.print_exc()
|
||||||
|
response['error'] = exception.args
|
||||||
|
except Exception:
|
||||||
|
+ exc_type, exc_value = sys.exc_info()[:2]
|
||||||
|
tb_s = ''.join(traceback.format_exception(*sys.exc_info()))
|
||||||
|
for path in sys.path:
|
||||||
|
tb_s = tb_s.replace(path, '')
|
||||||
|
+ logging.getLogger('jsonrpc').warning(
|
||||||
|
+ 'Exception in JSONRPC response generation: %s (%s)\n %s'
|
||||||
|
+ % (exc_value, exc_type, tb_s))
|
||||||
|
if CONFIG['debug_mode']:
|
||||||
|
import pdb
|
||||||
|
traceb = sys.exc_info()[2]
|
||||||
|
|
Loading…
Reference in New Issue