Improve exception: don't log exception_{osv, orm, wizard}
bzr revid: ced-6bdaf4ebdab2dcded046448506f94daa0edc4c70
This commit is contained in:
parent
a66d67987e
commit
c844422d20
|
@ -86,7 +86,7 @@ class Service(object):
|
|||
self._response_process=None
|
||||
self._response=s(self._response_process_id)
|
||||
|
||||
def abortResponse(self,error, description, origin, details):
|
||||
def abortResponse(self, error, description, origin, details):
|
||||
import tools
|
||||
if not tools.config['debug_mode']:
|
||||
raise Exception("%s -- %s\n\n%s"%(origin,description,details))
|
||||
|
@ -208,10 +208,9 @@ class GenericXMLRPCRequestHandler:
|
|||
if res!=None:
|
||||
r=res
|
||||
return r
|
||||
except Exception,e:
|
||||
logger = Logger()
|
||||
tb_s = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback))
|
||||
logger.notifyChannel("web-services", LOG_ERROR, 'Exception in call: ' + tb_s)
|
||||
except Exception, e:
|
||||
tb_s = reduce(lambda x, y: x+y, traceback.format_exception(
|
||||
sys.exc_type, sys.exc_value, sys.exc_traceback))
|
||||
s=str(e)
|
||||
import tools
|
||||
if tools.config['debug_mode']:
|
||||
|
@ -320,9 +319,7 @@ class TinySocketClientThread(threading.Thread):
|
|||
r=res
|
||||
ts.mysend(r)
|
||||
except Exception, e:
|
||||
logger = Logger()
|
||||
tb_s = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback))
|
||||
logger.notifyChannel("web-services", LOG_ERROR, 'Exception in call: ' + tb_s)
|
||||
s=str(e)
|
||||
import tools
|
||||
if tools.config['debug_mode']:
|
||||
|
|
|
@ -34,8 +34,10 @@ import orm
|
|||
import netsvc
|
||||
import pooler
|
||||
import copy
|
||||
import sys
|
||||
|
||||
import psycopg
|
||||
from netsvc import Logger, LOG_ERROR
|
||||
|
||||
module_list = []
|
||||
module_class_list = {}
|
||||
|
@ -101,7 +103,14 @@ class osv_pool(netsvc.Service):
|
|||
self.abortResponse(1, 'Constraint Error', 'warning',
|
||||
self._sql_error[key])
|
||||
self.abortResponse(1, 'Integrity Error', 'warning', inst[0])
|
||||
|
||||
except Exception, e:
|
||||
import traceback
|
||||
tb_s = reduce(lambda x, y: x+y, traceback.format_exception(
|
||||
sys.exc_type, sys.exc_value, sys.exc_traceback))
|
||||
logger = Logger()
|
||||
logger.notifyChannel("web-services", LOG_ERROR,
|
||||
'Exception in call: ' + tb_s)
|
||||
raise
|
||||
|
||||
def execute(self, db, uid, obj, method, *args, **kw):
|
||||
db, pool = pooler.get_db_and_pool(db)
|
||||
|
|
|
@ -36,11 +36,14 @@ import pooler
|
|||
|
||||
from osv.osv import except_osv
|
||||
from osv.orm import except_orm
|
||||
from netsvc import Logger, LOG_ERROR
|
||||
import sys
|
||||
|
||||
class except_wizard(Exception):
|
||||
def __init__(self, name, value):
|
||||
self.name = name
|
||||
self.value = value
|
||||
self.args = (name, value)
|
||||
|
||||
class interface(netsvc.Service):
|
||||
states = {}
|
||||
|
@ -82,9 +85,6 @@ class interface(netsvc.Service):
|
|||
lang = context.get('lang', False)
|
||||
if result_def['type'] == 'action':
|
||||
res['action'] = result_def['action'](self, cr, uid, data, context)
|
||||
elif result_def['type'] == 'choice':
|
||||
next_state = result_def['next_state'](self, cr, uid, data, context)
|
||||
return self.execute_cr(cr, uid, data, next_state, context)
|
||||
elif result_def['type'] == 'form':
|
||||
fields = copy.copy(result_def['fields'])
|
||||
arch = copy.copy(result_def['arch'])
|
||||
|
@ -146,7 +146,17 @@ class interface(netsvc.Service):
|
|||
or isinstance(e, except_orm):
|
||||
self.abortResponse(2, e.name, 'warning', e.value)
|
||||
else:
|
||||
import traceback
|
||||
tb_s = reduce(lambda x, y: x+y, traceback.format_exception(
|
||||
sys.exc_type, sys.exc_value, sys.exc_traceback))
|
||||
logger = Logger()
|
||||
logger.notifyChannel("web-services", LOG_ERROR,
|
||||
'Exception in call: ' + tb_s)
|
||||
raise
|
||||
|
||||
if result_def['type'] == 'choice':
|
||||
next_state = result_def['next_state'](self, cr, uid, data, context)
|
||||
return self.execute_cr(cr, uid, data, next_state, context)
|
||||
return res
|
||||
|
||||
def execute(self, db, uid, data, state='init', context=None):
|
||||
|
|
Loading…
Reference in New Issue